jlx/libjlx/CMakeLists.txt

15 lines
774 B
CMake

add_library(libjlx STATIC)
set_target_properties(libjlx PROPERTIES PREFIX "")
target_sources(libjlx PUBLIC FILE_SET libjlx_modules TYPE CXX_MODULES FILES
"${CMAKE_CURRENT_SOURCE_DIR}/modules/main.cppm"
"${CMAKE_CURRENT_SOURCE_DIR}/modules/sourceStream.cppm"
"${CMAKE_CURRENT_SOURCE_DIR}/modules/tokenizer.cppm"
"${CMAKE_CURRENT_SOURCE_DIR}/modules/ast.cppm"
"${CMAKE_CURRENT_SOURCE_DIR}/modules/utils.cppm"
"${CMAKE_CURRENT_SOURCE_DIR}/modules/type_checker.cppm"
)
target_compile_options(libjlx PRIVATE $<IF:$<CXX_COMPILER_ID:Msvc>,/W4 /WX,-Wall -Wextra -Werror>)
target_include_directories(libjlx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
if (JLX_IPO_OK)
set_property(TARGET libjlx PROPERTY INTERPROCEDURAL_OPTIMIZATION $<BOOL:$<NOT:$<CONFIG:Debug>>>)
endif()