diff --git a/CMakeLists.txt b/CMakeLists.txt index d81a29e9..d4c79c47 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,7 @@ message("-- XO_ENABLE_DOCS=${XO_ENABLE_DOCS}") message("-- XO_ENABLE_EXAMPLES=${XO_ENABLE_EXAMPLES}") message("-- XO_ENABLE_VULKAN=${XO_ENABLE_VULKAN}") message("-- XO_ENABLE_OPENGL=${XO_ENABLE_OPENGL}") +message("-- XO_ENABLE_ASM=${XO_ENABLE_ASM}") # ---------------------------------------------------------------- # diff --git a/xo-cmake/cmake/xo_macros/xo_cxx.cmake b/xo-cmake/cmake/xo_macros/xo_cxx.cmake index 2b916698..31e8b879 100644 --- a/xo-cmake/cmake/xo_macros/xo_cxx.cmake +++ b/xo-cmake/cmake/xo_macros/xo_cxx.cmake @@ -2,6 +2,7 @@ option(XO_ENABLE_DOCS "enable building documentation" OFF) option(XO_ENABLE_EXAMPLES "enable building example programs" OFF) option(XO_ENABLE_VULKAN "enable vulkan dependency for imgui apps" OFF) option(XO_ENABLE_OPENGL "enable opengl dependency for imgui apps" ON) +option(XO_ENABLE_ASM "generate assembler output (.s files)" OFF) macro(xo_cxx_config_message) message(STATUS "GUESSED_CMAKE_CMD=cmake -DXO_CMAKE_CONFIG_EXECUTABLE=${XO_CMAKE_CONFIG_EXECUTABLE} -DENABLE_TESTING=${ENABLE_TESTING} -DXO_ENABLE_DOCS=${XO_ENABLE_DCS} -DXO_ENABLE_EXAMPLES=${XO_ENABLE_EXAMPLES} -DXO_ENABLE_VULKAN=${XO_ENABLE_VULKAN} -DXO_ENABLE_OPENGL=${XO_ENABLE_OPENGL} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_DOCDIR=${CMAKE_INSTALL_DOCDIR} -B ${CMAKE_BINARY_DIR}") @@ -219,6 +220,7 @@ macro(xo_toplevel_config2) xo_toplevel_debug_config2() xo_toplevel_asan_config2() xo_toplevel_coverage_config2() + xo_toplevel_asm_config2() endmacro() # coverage build: @@ -261,6 +263,13 @@ macro(xo_toplevel_coverage_config2) endif() endmacro() +macro(xo_toplevel_asm_config2) + if(XO_ENABLE_ASM) + message(STATUS "enabling assembler output (-save-temps=obj -fverbose-asm)") + add_compile_options(-save-temps=obj -fverbose-asm) + endif() +endmacro() + # target to build+install coverage report. # macro(xo_utest_coverage_config2)