cmake_minimum_required (VERSION 3.1) file (GLOB CPPClasses "CPPClasses/Src/*.cpp") add_library (CIMFramework SHARED src/CimAnonymous.cpp src/CimBase.cpp src/CimClassFactory.cpp src/CimTypedUtils.cpp CimFramework.rc ${CPPClasses} ) if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) set( outputname "CPPCimFramework_x64" ) else( CMAKE_SIZEOF_VOID_P EQUAL 8 ) set( outputname "CPPCimFramework" ) endif( CMAKE_SIZEOF_VOID_P EQUAL 8 ) set_target_properties (CIMFramework PROPERTIES POSITION_INDEPENDENT_CODE ON OUTPUT_NAME ${outputname}) target_link_libraries (CIMFramework CimFrameworkUntyped) include_directories ( "include/" ) target_include_directories (CIMFramework PUBLIC "CPPClasses/Include/" ) if (MSVC) add_definitions(-DCIMFRAMEWORK_DLL -DCIMFRAMEWORK_EXPORTS) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /guard:cf") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /guard:cf") else (MSVC) set(CMAKE_CXX_FLAGS "-static-libgcc") endif (MSVC)