RSE-Terrain/CMakeLists.txt
JackCarterSmith 0548720eae
Some checks failed
JCS-Prod/RSE-Map/pipeline/head There was a failure building this commit
Tools setup
2021-08-05 16:44:53 +02:00

63 lines
1.9 KiB
CMake

# CMakeLists.txt
# Written by JackCarterSmith, 2021
# This code is released under the RSE license.
cmake_minimum_required(VERSION 3.1)
cmake_policy(VERSION 3.1)
# define project
if(DEFINED ENV{CI})
project(rse-map VERSION 1.0.0.$ENV{CI_BUILD_NUMBER} DESCRIPTION "RogueSquadron Extractor - Map" LANGUAGES C)
set(RSE_MAP_NAME $ENV{CI_OUTPUT_NAME}-${PROJECT_VERSION})
else()
project(rse-map VERSION 1.0.0 DESCRIPTION "RogueSquadron Extractor - Map" LANGUAGES C)
set(RSE_MAP_NAME RSE_Map-${PROJECT_VERSION})
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/config.h @ONLY)
include(CheckIncludeFile)
include(CheckCSourceCompiles)
# needed packages
find_package(ZLIB REQUIRED)
include_directories(${ZLIB_INCLUDE_DIR})
find_package(PNG REQUIRED)
include_directories(${PNG_INCLUDE_DIR})
# define src/headers files
FILE(GLOB RSE_MAP_SRCS src/*.c)
FILE(GLOB RSE_MAP_HRDS src/*.h)
SOURCE_GROUP("Source Files" FILES ${RSE_MAP_SRCS})
SOURCE_GROUP("Header Files" FILES ${RSE_MAP_HRDS})
# begin building RSE-Map
#set(CMAKE_BUILD_TYPE Debug)
#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_executable(rse-map ${RSE_MAP_SRCS} ${RSE_MAP_HRDS})
#set_property(TARGET rse-map PROPERTY C_STANDARD 99)
set_target_properties(rse-map PROPERTIES OUTPUT_NAME ${RSE_MAP_NAME})
if(MSVC)
# msvc does not append 'lib' - do it here to have consistent name
set_target_properties(rse-map PROPERTIES PREFIX "lib")
set_target_properties(rse-map PROPERTIES IMPORT_PREFIX "lib")
endif()
target_link_libraries(rse-map ${ZLIB_LIBRARIES} ${PNG_LIBRARIES})
# add GPG signature command
#add_custom_command(
# OUTPUT ""
# COMMAND gpg --batch --detach-sign
# -o ${RSE_MAP_NAME}_${CI_SYS_TARGET}.gpg
# ${RSE_MAP_NAME}
# DEPENDS ${RSE_MAP_NAME}
# VERBATIM
#)
# install executable
install(TARGETS rse-map
RUNTIME DESTINATION bin
)