cmake_minimum_required(VERSION 3.16) project(rod_solver_c C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) add_library(rod_solver STATIC src/solver_common.c src/json_stdin.c src/trajectory.c src/solver_diagnostic.c src/solver.c src/solver_fea.c src/solver_fourier.c ) target_include_directories(rod_solver PUBLIC include) add_executable(solver_main src/main.c) target_link_libraries(solver_main PRIVATE rod_solver m) add_executable(solver_fea_main src/main_fea.c) target_link_libraries(solver_fea_main PRIVATE rod_solver m) add_executable(test_solver tests/test_solver.c) target_link_libraries(test_solver PRIVATE rod_solver m) enable_testing() add_test(NAME solver_c_tests COMMAND test_solver)