diff --git a/CMakeLists.txt b/CMakeLists.txt index 7362aba..cd4a6a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,10 +4,25 @@ project(PssPhoto VERSION 0.1.0 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) -#add_library(PssPhoto src/main.cpp -# include/pss/definitions.h) +# 定义源文件 +set(${PROJECT_NAME}_SOURCES + src/main.cpp) -include_directories(src) +# 生成静态库 +add_library(${PROJECT_NAME}_static STATIC ${${PROJECT_NAME}_SOURCES}) +target_include_directories(${PROJECT_NAME}_static PUBLIC include) +set_target_properties(${PROJECT_NAME}_static PROPERTIES + OUTPUT_NAME ${PROJECT_NAME} + PREFIX lib) + +add_compile_definitions(PSS_DLL_MODE) + +# 生成动态库 +add_library(${PROJECT_NAME}_shared SHARED ${${PROJECT_NAME}_SOURCES}) +target_include_directories(${PROJECT_NAME}_shared PUBLIC include) +set_target_properties(${PROJECT_NAME}_shared PROPERTIES + OUTPUT_NAME ${PROJECT_NAME} + PREFIX lib) include(CTest) enable_testing() diff --git a/include/pss/definitions.h b/include/pss/definitions.h index 9e2465b..fdaae85 100644 --- a/include/pss/definitions.h +++ b/include/pss/definitions.h @@ -1,4 +1,17 @@ #ifndef PSSPHOTO_DEFINITIONS_H #define PSSPHOTO_DEFINITIONS_H +#ifndef PSS_CALL +# define PSS_CALL __stdcall +#endif + +#if defined(__unix) || defined(__unix__) +# ifdef PSS_DLL_MODE +#elif defined(_WIN32) || defined(__WIN32__) + +#else +# error Unknow platform! +#endif + + #endif //PSSPHOTO_DEFINITIONS_H