| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- enable_language(C)
- add_library(generatorlib STATIC generatorlib.c)
- add_library(generatorobj OBJECT generatorobj.c)
- add_library(emptyobj OBJECT empty.c)
- add_library(emptyobj2 OBJECT empty.c)
- add_executable(generator generator.c $<TARGET_OBJECTS:generatorobj>)
- target_link_libraries(generator PRIVATE generatorlib)
- add_custom_command(OUTPUT generated.c COMMAND generator generated.c)
- add_executable(generated ${CMAKE_BINARY_DIR}/generated.c $<TARGET_OBJECTS:generatorobj> $<TARGET_OBJECTS:emptyobj>)
- target_link_libraries(generated PRIVATE generatorlib)
- file(GENERATE OUTPUT include/genex/$<CONFIG>/genex_config.h CONTENT
- "#ifndef GENEX_CONFIG_H
- #define GENEX_CONFIG_H
- #define GENEX_CONFIG_INCLUDE_DIR \"$<CONFIG>\"
- #endif /* GENEX_CONFIG_H */
- ")
- file(GENERATE OUTPUT include/intdir/$<CONFIG>/intdir_config.h CONTENT
- "#ifndef INTDIR_CONFIG_H
- #define INTDIR_CONFIG_H
- #define INTDIR_CONFIG_INCLUDE_DIR \"$<CONFIG>\"
- #endif /* INTDIR_CONFIG_H */
- ")
- foreach(g generatorlib generatorobj generator generated)
- target_compile_definitions(${g} PRIVATE
- "GENEX_CONFIG_DEFINITION=\"$<CONFIG>\""
- # FIXME Get this working
- # "INTDIR_CONFIG_DEFINITION=\"${CMAKE_CFG_INTDIR}\""
- )
- target_include_directories(${g} PRIVATE
- "${CMAKE_BINARY_DIR}/include/genex/$<CONFIG>"
- # FIXME Get this working
- # "${CMAKE_BINARY_DIR}/include/intdir/${CMAKE_CFG_INTDIR}"
- )
- endforeach()
- include(${CMAKE_CURRENT_LIST_DIR}/Common.cmake)
- generate_output_files(generatorlib generatorobj emptyobj generator generated)
- file(APPEND "${CMAKE_BINARY_DIR}/target_files.cmake" "set(GENERATED_FILES [==[${CMAKE_BINARY_DIR}/generated.c]==])\n")
- set(genfiles)
- foreach(cfg Debug Release MinSizeRel RelWithDebInfo)
- list(APPEND genfiles
- ${CMAKE_BINARY_DIR}/include/genex/${cfg}/genex_config.h
- ${CMAKE_BINARY_DIR}/include/intdir/${cfg}/intdir_config.h
- )
- endforeach()
- file(APPEND "${CMAKE_BINARY_DIR}/target_files.cmake" "set(CONFIG_FILES [==[${genfiles}]==])\n")
|