set(PROJECT_NAME on) ################################################################################ # Source groups ################################################################################ set(Header_Files "OnModule.h" ) source_group("Header Files" FILES ${Header_Files}) set(Source_Files "OnModule.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}") ################################################################################ # Includes for CMake from *.props ################################################################################ set(ROOT_NAMESPACE on) 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;" "${CMAKE_CURRENT_SOURCE_DIR}/../cn" ) ################################################################################ # 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 cn mb nb nt nw pb sb st )