Split bin2h to its own CMake file

Also added warnings to its part of the Makefile
This commit is contained in:
Clownacy 2019-05-23 19:41:37 +01:00
parent 43958d2771
commit 5b89a31976
4 changed files with 34 additions and 13 deletions

View file

@ -263,17 +263,7 @@ elseif(NOT WIN32)
endif() endif()
# Magic to convert resources to header files # Magic to convert resources to header files
add_executable(bin2h "src/misc/bin2h.c") add_subdirectory("bin2h")
set_target_properties(bin2h PROPERTIES
C_STANDARD 90
C_STANDARD_REQUIRED ON
C_EXTENSIONS OFF
)
if(MSVC)
target_compile_definitions(bin2h PRIVATE _CRT_SECURE_NO_WARNINGS) # Shut up those stupid warnings
endif()
foreach(FILENAME IN LISTS RESOURCES) foreach(FILENAME IN LISTS RESOURCES)
set(IN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/res") set(IN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/res")
set(OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Resource") set(OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/Resource")

View file

@ -226,10 +226,10 @@ src/Resource/%.h: res/% obj/bin2h
@echo Converting $< @echo Converting $<
@obj/bin2h $< $@ @obj/bin2h $< $@
obj/bin2h: src/misc/bin2h.c obj/bin2h: bin2h/bin2h.c
@mkdir -p $(@D) @mkdir -p $(@D)
@echo Compiling $^ @echo Compiling $^
@$(CC) -O3 -s -std=c90 $^ -o $@ @$(CC) -O3 -s -std=c90 -Wall -Wextra -pedantic $^ -o $@
include $(wildcard $(DEPENDENCIES)) include $(wildcard $(DEPENDENCIES))

31
bin2h/CMakeLists.txt Normal file
View file

@ -0,0 +1,31 @@
cmake_minimum_required(VERSION 3.7.2)
if((${CMAKE_VERSION} VERSION_EQUAL 3.9) OR (${CMAKE_VERSION} VERSION_GREATER 3.9))
cmake_policy(SET CMP0069 NEW)
endif()
project(bin2h LANGUAGES C)
add_executable(bin2h "bin2h.c")
set_target_properties(bin2h PROPERTIES
C_STANDARD 90
C_STANDARD_REQUIRED ON
C_EXTENSIONS OFF
)
# MSVC tweak
if(MSVC)
target_compile_definitions(bin2h PRIVATE _CRT_SECURE_NO_WARNINGS) # Shut up those stupid warnings
endif()
# Enable link-time optimisation if available
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
if((${CMAKE_VERSION} VERSION_EQUAL 3.9) OR (${CMAKE_VERSION} VERSION_GREATER 3.9))
include(CheckIPOSupported)
check_ipo_supported(RESULT result)
if(result)
set_target_properties(bin2h PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
endif()
endif()