cmake_minimum_required(VERSION 3.0) project(cd_utils) find_package(MinGW REQUIRED) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES}) file(GLOB CPPS_UTILS "cdutils_*.cpp") file(GLOB HDRS_UTILS "cdutils_*.h") add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${HDRS_UTILS}) target_link_libraries(${PROJECT_NAME} ${PIP_LIBRARY}) generate_export_header(${PROJECT_NAME}) list(APPEND HDRS_UTILS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h") add_executable(cdutilstest "cdutilstest.cpp" "cdtest.h") target_link_libraries(cdutilstest ${PIP_LIBRARY} ${PROJECT_NAME}) message(STATUS "Building ${PROJECT_NAME}") if(LIB) list(APPEND _ALL_TARGETS ${PROJECT_NAME}) set(_ALL_TARGETS ${_ALL_TARGETS} PARENT_SCOPE) if(WIN32) install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}) install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${MINGW_LIB}) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${MINGW_BIN}) else() install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) endif() #message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") else() if(WIN32) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib) else() install(TARGETS ${PROJECT_NAME} DESTINATION lib) endif() install(FILES ${HDRS_UTILS} DESTINATION include) #message(STATUS "Install ${PROJECT_NAME} to local \"bin\"") endif()