Skip to content

Commit

Permalink
Update CMake build steps
Browse files Browse the repository at this point in the history
  • Loading branch information
mdpiper committed Oct 23, 2023
1 parent d182784 commit bfad9d5
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 27 deletions.
16 changes: 11 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
cmake_minimum_required(VERSION 3.0)
# bmi-example-cxx

project (bmi-example-cxx CXX)
cmake_minimum_required(VERSION 3.12)
project (bmi-example-cxx LANGUAGES CXX)

include(GNUInstallDirs)

set(model_name heatcxx)
set(bmi_name bmi${model_name})

find_package(PkgConfig REQUIRED)
pkg_check_modules(BMICXX REQUIRED IMPORTED_TARGET bmicxx)
message("-- bmicxx include - ${BMICXX_INCLUDE_DIRS}")
message("-- bmicxx include dir - ${BMICXX_INCLUDE_DIRS}")
include_directories(${BMICXX_INCLUDE_DIRS})

add_subdirectory (heat)
add_subdirectory (testing)
add_subdirectory(heat)
add_subdirectory(testing)

include (CTest)
34 changes: 17 additions & 17 deletions heat/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
cmake_minimum_required(VERSION 3.0)
# heatcxx

set (HEAT_VERSION 0.2)
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/heatcxx.pc.cmake
${CMAKE_BINARY_DIR}/heatcxx.pc)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/${model_name}.pc.cmake
${CMAKE_BINARY_DIR}/heat/${model_name}.pc
)

set(bmi_heat_lib_SRCS bmi_heat.cxx heat.cxx)
if(WIN32)
add_library(bmiheatcxx ${bmi_heat_lib_SRCS})
add_library(${bmi_name} bmi_heat.cxx heat.cxx)
else()
add_library(bmiheatcxx SHARED ${bmi_heat_lib_SRCS})
add_library(${bmi_name} SHARED bmi_heat.cxx heat.cxx)
endif()

add_executable(run_bmiheatcxx bmi_main.cxx bmi_heat.cxx heat.cxx)
add_executable(run_${bmi_name} bmi_main.cxx bmi_heat.cxx heat.cxx)

install(
TARGETS run_bmiheatcxx
RUNTIME DESTINATION bin
TARGETS run_${bmi_name}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(
TARGETS bmiheatcxx
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
TARGETS ${bmi_name}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
install(
FILES bmi_heat.hxx heat.hxx
DESTINATION include
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install(
FILES ${CMAKE_BINARY_DIR}/heatcxx.pc
DESTINATION lib/pkgconfig
FILES ${CMAKE_CURRENT_BINARY_DIR}/${model_name}.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
)
4 changes: 2 additions & 2 deletions heat/heatcxx.pc.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: HeatCXX
Description: 2D Heat Equation
Version: ${HEAT_VERSION}
Libs: -L${CMAKE_INSTALL_PREFIX}/lib -lbmiheatcxx
Cflags: -I${CMAKE_INSTALL_PREFIX}/include
Libs: -L${CMAKE_INSTALL_LIBDIR} -l${bmi_name}
Cflags: -I${CMAKE_INSTALL_INCLUDEDIR}
8 changes: 5 additions & 3 deletions testing/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
include (CTest)
# test (heatcxx)

include_directories( ${CMAKE_SOURCE_DIR}/heat )
include(CTest)

include_directories(${CMAKE_SOURCE_DIR}/heat)

function(make_test test_name)
add_test(NAME ${test_name} COMMAND ${test_name})
add_executable(${test_name} ${test_name}.cxx)
target_link_libraries(${test_name} bmiheatcxx)
target_link_libraries(${test_name} ${bmi_name})
endfunction(make_test)

make_test(test_irf)
Expand Down

0 comments on commit bfad9d5

Please sign in to comment.