|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
|
|
|
|
project(cmMod)
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
|
|
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
|
|
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
|
|
|
|
|
|
|
|
set(CONFIG_OPT 42)
|
|
|
|
configure_file("config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY)
|
|
|
|
|
|
|
|
add_library(cmModLib SHARED lib/cmMod.cpp)
|
|
|
|
add_library(cmModLibStatic STATIC lib/cmMod.cpp)
|
|
|
|
include(GenerateExportHeader)
|
|
|
|
generate_export_header(cmModLib)
|
|
|
|
|
|
|
|
set_target_properties(cmModLib PROPERTIES VERSION 1.0.1)
|
|
|
|
|
|
|
|
add_executable(testEXE main.cpp)
|
|
|
|
|
|
|
|
target_link_libraries(cmModLib ZLIB::ZLIB)
|
|
|
|
target_link_libraries(cmModLibStatic ;ZLIB::ZLIB;)
|
|
|
|
target_link_libraries(testEXE cmModLib)
|
|
|
|
|
|
|
|
if(APPLE)
|
|
|
|
find_library(COREFOUNDATION_FRAMEWORK "CoreFoundation")
|
|
|
|
if(NOT COREFOUNDATION_FRAMEWORK)
|
|
|
|
message(FATAL_ERROR "CoreFoundation framework not found")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
target_link_libraries(cmModLibStatic "${COREFOUNDATION_FRAMEWORK}")
|
|
|
|
target_compile_definitions(cmModLibStatic PUBLIC USE_FRAMEWORK)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
target_compile_definitions(cmModLibStatic PUBLIC CMMODLIB_STATIC_DEFINE)
|
|
|
|
|
|
|
|
install(TARGETS testEXE LIBRARY DESTINATION lib RUNTIME DESTINATION bin)
|