Merge pull request #1 from KJNeko/modules

Modules
This commit is contained in:
KJ16609
2025-04-07 10:02:42 -10:00
committed by GitHub
2 changed files with 17 additions and 4 deletions

View File

@@ -129,7 +129,8 @@
list(APPEND FGL_CONFIG "-ftree-vectorize")
list(APPEND FGL_CONFIG "-fmax-errors=6")
LIST(APPEND FGL_CONFIG "-fmodules-ts")
LIST(APPEND FGL_CONFIG "-std=c++23")
#AppendWarningFlag("-fanalyzer")
#AppendWarningFlag("-Wanalyzer-too-complex")
@@ -162,7 +163,7 @@
list(APPEND FGL_FLAGS ${FGL_CONFIG})
list(APPEND FGL_FLAGS ${FGL_FINAL_FLAGS_${UPPER_BUILD_TYPE}})
list(APPEND FGL_FLAGS ${FGL_WARNINGS})
# list(APPEND FGL_FLAGS ${FGL_WARNINGS})
list(APPEND FGL_CHILD_FLAGS ${FGL_FINAL_FLAGS_${UPPER_BUILD_TYPE}})

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.28)
function(PreSetup)
PlatformPreSetup()
@@ -13,11 +13,23 @@ function(PostSetup)
endfunction()
function(AddFGLExecutable NAME SRC_SOURCES_LOCATION)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB_RECURSE M_SOURCES CONFIGURE_DEPENDS
${SRC_SOURCES_LOCATION}/**.cppm)
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS
${SRC_SOURCES_LOCATION}/**.cpp
${SRC_SOURCES_LOCATION}/**.hpp
)
add_executable(${NAME} ${SOURCES})
message("Compiling ${NAME} WITH ${M_SOURCES} as modules")
add_executable(${NAME})
target_sources(${NAME} PUBLIC ${SOURCES})
target_sources(${NAME} PUBLIC FILE_SET modules TYPE CXX_MODULES FILES ${M_SOURCES})
target_include_directories(${NAME} PRIVATE ${SRC_SOURCES_LOCATION})
set_target_properties(${NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
SetFGLFlags(${NAME})