89 lines
No EOL
2.8 KiB
CMake
89 lines
No EOL
2.8 KiB
CMake
cmake_minimum_required(VERSION 3.8)
|
|
|
|
project(kima2 VERSION 0.9.0)
|
|
|
|
set(CMAKE_MODULE_PATH "${CMAKE_HOME_DIRECTORY}/cmake" ${CMAKE_MODULE_PATH})
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
#include(InstallRequiredSystemLibraries)
|
|
|
|
if(MSVC)
|
|
add_compile_options(/W4 /WX)
|
|
else()
|
|
add_compile_options(-Wall -Wextra -pedantic -Woverloaded-virtual -Wredundant-decls -Wshadow)
|
|
endif()
|
|
|
|
configure_file(config.h.in ${PROJECT_BINARY_DIR}/config.h)
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
add_subdirectory(src)
|
|
|
|
if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES Debug)
|
|
include(CTest)
|
|
enable_testing()
|
|
add_subdirectory(test)
|
|
endif()
|
|
|
|
|
|
# CPack
|
|
|
|
set(CPACK_PACKAGE_EXECUTABLES "kima2" "KIMA2")
|
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ein kleines Kassenprogramm für Kindersachenmärkte")
|
|
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/misc\\\\kima2.bmp")
|
|
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
|
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
|
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
|
set(CPACK_PACKAGE_VENDOR "Martin Brodbeck")
|
|
set(CPACK_PACKAGE_CONTACT "Martin Brodbeck <info@rustysoft.de>")
|
|
set(CPACK_SOURCE_IGNORE_FILES "/.git/;/.vscode")
|
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
|
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "KIMA2")
|
|
|
|
if (WIN32 AND NOT UNIX)
|
|
set(CPACK_GENERATOR "NSIS;ZIP")
|
|
else(WIN32 AND NOT UNIX)
|
|
set(CPACK_SOURCE_GENERATOR "TBZ2")
|
|
set(CPACK_GENERATOR "RPM;DEB")
|
|
set(CPACK_STRIP_FILES "bin/kima2")
|
|
set(CPACK_SOURCE_STRIP_FILES "")
|
|
endif (WIN32 AND NOT UNIX)
|
|
|
|
if( MINGW )
|
|
message( STATUS " Installing system-libraries: MinGW DLLs." )
|
|
get_filename_component( MINGW_PATH ${CMAKE_CXX_COMPILER} PATH )
|
|
set( CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
|
|
${MINGW_PATH}/libstdc++-6.dll
|
|
${MINGW_PATH}/libgcc_s_seh-1.dll
|
|
${MINGW_PATH}/Qt5Core.dll
|
|
${MINGW_PATH}/Qt5Gui.dll
|
|
${MINGW_PATH}/Qt5Widgets.dll
|
|
${MINGW_PATH}/Qt5PrintSupport.dll
|
|
${MINGW_PATH}/libwinpthread-1.dll
|
|
${MINGW_PATH}/libsqlite3-0.dll
|
|
${MINGW_PATH}/libusb-1.0.dll
|
|
${MINGW_PATH}/libxlnt.dll
|
|
${MINGW_PATH}/libicuuc61.dll
|
|
${MINGW_PATH}/libicuin61.dll
|
|
${MINGW_PATH}/libicudt61.dll
|
|
${MINGW_PATH}/libjsoncpp-20.dll
|
|
${MINGW_PATH}/libpcre2-16-0.dll
|
|
${MINGW_PATH}/zlib1.dll
|
|
${MINGW_PATH}/libharfbuzz-0.dll
|
|
${MINGW_PATH}/libpng16-16.dll
|
|
${MINGW_PATH}/libfreetype-6.dll
|
|
${MINGW_PATH}/libglib-2.0-0.dll
|
|
${MINGW_PATH}/libgraphite2.dll
|
|
${MINGW_PATH}/libbz2-1.dll
|
|
${MINGW_PATH}/libintl-8.dll
|
|
${MINGW_PATH}/libpcre-1.dll
|
|
${MINGW_PATH}/libiconv-2.dll
|
|
)
|
|
endif( MINGW )
|
|
|
|
include(InstallRequiredSystemLibraries)
|
|
include(CPack) |