set(PROJECT_NAME an) ################################################################################ # Source groups ################################################################################ set(Header_Files "AnIncrement.h" "AnModule.h" "PotsShelf.h" "PotsTrafficThread.h" ) source_group("Header Files" FILES ${Header_Files}) set(Source_Files "AnIncrement.cpp" "AnModule.cpp" "PotsShelfFactory.cpp" "PotsShelfHandler.cpp" "PotsShelfIpService.cpp" "PotsTrafficThread.cpp" ) source_group("Source Files" FILES ${Source_Files}) set(ALL_FILES ${Header_Files} ${Source_Files} ) ################################################################################ # Target ################################################################################ add_library(${PROJECT_NAME} STATIC ${ALL_FILES}) use_props(${PROJECT_NAME} "${CMAKE_CONFIGURATION_TYPES}" "${DEFAULT_CXX_PROPS}") set(ROOT_NAMESPACE an) if(MSVC) set_target_properties(${PROJECT_NAME} PROPERTIES VS_GLOBAL_KEYWORD "Win32Proj" ) set_target_properties(${PROJECT_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE "TRUE" ) endif() ################################################################################ # Include directories ################################################################################ target_include_directories(${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../nb;" "${CMAKE_CURRENT_SOURCE_DIR}/../nt;" "${CMAKE_CURRENT_SOURCE_DIR}/../nw;" "${CMAKE_CURRENT_SOURCE_DIR}/../sb;" "${CMAKE_CURRENT_SOURCE_DIR}/../st;" "${CMAKE_CURRENT_SOURCE_DIR}/../mb;" "${CMAKE_CURRENT_SOURCE_DIR}/../cb;" "${CMAKE_CURRENT_SOURCE_DIR}/../pb" ) ################################################################################ # Compile definitions ################################################################################ if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "ARM") target_compile_definitions(${PROJECT_NAME} PRIVATE "$<$:" "_DEBUG" ">" "$<$:" "NDEBUG" ">" "WIN32;" "_LIB;" "UNICODE;" "_UNICODE" ) elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") if(MSVC) target_compile_definitions(${PROJECT_NAME} PRIVATE "$<$:" "_DEBUG" ">" "$<$:" "NDEBUG" ">" "_LIB;" "UNICODE;" "_UNICODE" ) endif() elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32") target_compile_definitions(${PROJECT_NAME} PRIVATE "$<$:" "_DEBUG" ">" "$<$:" "NDEBUG" ">" "WIN32;" "_LIB;" "UNICODE;" "_UNICODE" ) endif() ################################################################################ # Compile and link options ################################################################################ if(MSVC) target_compile_options(${PROJECT_NAME} PRIVATE $<$: /Oi; /Gy > ) target_link_options(${PROJECT_NAME} PRIVATE $<$: /OPT:REF; /OPT:NOICF > /SUBSYSTEM:WINDOWS ) endif() ################################################################################ # Dependencies ################################################################################ # Link with other targets. target_link_libraries(${PROJECT_NAME} PUBLIC cb mb nb nt nw pb sb st )