CMake: Added LDFlags Configuration

This commit is contained in:
FMMazur
2020-03-27 09:11:08 -04:00
parent a8543bc813
commit 0ef028244a

View File

@@ -3,11 +3,11 @@ project(cglm LANGUAGES C)
set(C_STANDARD 99)
set(C_STANDARD_REQUIRED YES)
set(C_EXTENSIONS NO)
set(CGLM_BUILD)
option(CGLM_STATIC "Static build" ON)
option(CGLM_SHARED "Shared build" OFF)
option(CGLM_USE_C11 "" OFF)
if(CGLM_STATIC AND NOT CGLM_SHARED)
set(CGLM_BUILD STATIC)
@@ -15,6 +15,20 @@ else(CGLM_SHARED)
set(CGLM_BUILD SHARED)
endif()
if(CGLM_USE_C11)
set(C_STANDARD 99)
endif()
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
list(APPEND LDFLAGS "/W4")
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
set(C_EXTENSIONS YES)
list(APPEND LDFLAGS "-Wall" "-Wpedantic" "-Wstrict-aliasing=2")
list(APPEND LDFLAGS "-Werror=strict-prototypes" "-fstrict-aliasing" "-O3")
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "CLANG")
list(APPEND LDFLAGS "-Wall" "-Weverything" "-Wpedantic")
endif()
set(HEADERS
include/cglm/simd/arm.h
include/cglm/simd/x86.h
@@ -131,6 +145,10 @@ target_include_directories(cglm PUBLIC
$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_PREFIX}>
)
if(LDFLAGS)
target_compile_options(cglm PRIVATE ${LDFLAGS})
endif()
install(
TARGETS cglm
EXPORT cglm
@@ -147,5 +165,4 @@ if(CGLM_SHARED)
)
endif()
install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/cglm COMPONENT development)