| # first we add the executable that generates the table |
| add_executable(MakeTable MakeTable.cxx) |
| |
| # add the command to generate the source code |
| add_custom_command( |
| OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Table.h |
| COMMAND MakeTable ${CMAKE_CURRENT_BINARY_DIR}/Table.h |
| DEPENDS MakeTable |
| ) |
| |
| # add the main library |
| add_library(MathFunctions |
| mysqrt.cxx |
| ${CMAKE_CURRENT_BINARY_DIR}/Table.h |
| ) |
| |
| # state that anybody linking to us needs to include the current source dir |
| # to find MathFunctions.h, while we don't. |
| # state that we depend on our binary dir to find Table.h |
| target_include_directories(MathFunctions |
| INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} |
| PRIVATE ${CMAKE_CURRENT_BINARY_DIR} |
| ) |
| |
| # install rules |
| install(TARGETS MathFunctions DESTINATION lib) |
| install(FILES MathFunctions.h DESTINATION include) |