Skip to content

Commit c221c69

Browse files
authored
First round of renamings: cpp_bindgen with GEN_ or gen_ prefix (#9)
1 parent 56e608f commit c221c69

55 files changed

Lines changed: 507 additions & 917 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
cmake_minimum_required(VERSION 3.12.4)
22

3-
file(STRINGS "version.txt" __C_BINDINGS_VERSION)
4-
project(c_bindings VERSION ${__C_BINDINGS_VERSION} LANGUAGES CXX)
5-
unset(__C_BINDINGS_VERSION)
3+
file(STRINGS "version.txt" __CPP_BINDGEN_VERSION)
4+
project(cpp_bindgen VERSION ${__CPP_BINDGEN_VERSION} LANGUAGES CXX)
5+
unset(__CPP_BINDGEN_VERSION)
66

77
include(CTest)
88

cmake/bindings.cmake

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,10 @@ function(generate_gt_bindings)
22
set(__C_BINDINGS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
33
set(__C_BINDINGS_CMAKE_DIR ${PROJECT_SOURCE_DIR}/cmake)
44
set(__C_BINDINGS_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
5-
configure_file(${PROJECT_SOURCE_DIR}/cmake/gt_bindings.cmake.in
6-
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/bindings_for_build/gt_bindings.cmake
5+
configure_file(${PROJECT_SOURCE_DIR}/cmake/cpp_bindgen.cmake.in
6+
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/bindings_for_build/cpp_bindgen.cmake
77
@ONLY)
8-
unset(__C_BINDINGS_SOURCE_DIR)
9-
unset(__C_BINDINGS_CMAKE_DIR)
10-
unset(__C_BINDINGS_INCLUDE_DIR)
118
endfunction()
129

1310
generate_gt_bindings()
14-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/bindings_for_build")
15-
include(gt_bindings)
11+
include(${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/bindings_for_build/cpp_bindgen.cmake)

cmake/cpp_bindgen-config.cmake.in

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
@PACKAGE_INIT@
2+
3+
get_filename_component(cpp_bindgen_CONFIG_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
4+
5+
message(STATUS "GridTools cpp_bindgen version @PROJECT_VERSION@ found at ${cpp_bindgen_CONFIG_CMAKE_DIR}")
6+
7+
include(CMakeFindDependencyMacro)
8+
find_dependency(Boost @REQUIRED_BOOST_VERSION@)
9+
10+
set_and_check(cpp_bindgen_MODULE_PATH @PACKAGE_cpp_bindgen_MODULE_PATH@)
11+
set_and_check(cpp_bindgen_SOURCES_PATH @PACKAGE_cpp_bindgen_SOURCES_PATH@)
12+
set_and_check(cpp_bindgen_INCLUDE_PATH @PACKAGE_cpp_bindgen_INCLUDE_PATH@)
13+
14+
include(${cpp_bindgen_MODULE_PATH}/cpp_bindgen.cmake)
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Usage of this module:
44
#
5-
# gt_add_bindings_library(<library-name> SOURCES <sources>[...] [FORTRAN_OUTPUT_DIR fortran_dir] [C_OUTPUT_DIR c_dir] [FORTRAN_MODULE_NAME name])
5+
# cpp_bindgen_add_library(<library-name> SOURCES <sources>[...] [FORTRAN_OUTPUT_DIR fortran_dir] [C_OUTPUT_DIR c_dir] [FORTRAN_MODULE_NAME name])
66
#
77
# Arguments:
88
# SOURCES: sources of the library
@@ -18,9 +18,9 @@
1818
# If GT_ENABLE_BINDINGS_GENERATION is not defined already it will be made available after including this file.
1919
#
2020
# In the default case (GT_ENABLE_BINDINGS_GENERATION=ON), the bindings files are generated in the directory
21-
# where the CMakeLists.txt with the call to gt_add_bindings_library() is located.
21+
# where the CMakeLists.txt with the call to cpp_bindgen_add_library() is located.
2222
#
23-
# Targets generated by gt_add_bindings_library(<library-name> ...):
23+
# Targets generated by cpp_bindgen_add_library(<library-name> ...):
2424
# - <library_name> library build from <Sources...> without bindings (ususally this target is not used)
2525
# - <library_name>_declarations will run the generator for this library
2626
# - <library_name>_c the C-bindings with <library_name> linked to it
@@ -32,33 +32,33 @@ option(GT_ENABLE_BINDINGS_GENERATION "If turned off, bindings will not be genera
3232
set(__C_BINDINGS_SOURCE_DIR @__C_BINDINGS_SOURCE_DIR@)
3333
set(__C_BINDINGS_INCLUDE_DIR @__C_BINDINGS_INCLUDE_DIR@)
3434

35-
add_library(c_bindings_generator ${__C_BINDINGS_SOURCE_DIR}/c_bindings/generator.cpp)
35+
add_library(cpp_bindgen_generator ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/generator.cpp)
3636
# PUBLIC to make export.hpp available in the sources passed to add_bindings_library()
37-
target_include_directories(c_bindings_generator PUBLIC ${__C_BINDINGS_INCLUDE_DIR})
38-
target_compile_features(c_bindings_generator PUBLIC cxx_std_11)
39-
target_link_libraries(c_bindings_generator PUBLIC Boost::boost)
37+
target_include_directories(cpp_bindgen_generator PUBLIC ${__C_BINDINGS_INCLUDE_DIR})
38+
target_compile_features(cpp_bindgen_generator PUBLIC cxx_std_11)
39+
target_link_libraries(cpp_bindgen_generator PUBLIC Boost::boost)
4040

41-
add_library(c_bindings_handle ${__C_BINDINGS_SOURCE_DIR}/c_bindings/handle.cpp)
41+
add_library(c_bindings_handle ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/handle.cpp)
4242
target_include_directories(c_bindings_handle PRIVATE ${__C_BINDINGS_INCLUDE_DIR})
4343
target_compile_features(c_bindings_handle PRIVATE cxx_std_11)
44-
target_link_libraries(c_bindings_generator PRIVATE Boost::boost) #TODO make an interface target for options
44+
target_link_libraries(cpp_bindgen_generator PRIVATE Boost::boost) #TODO make an interface target for options
4545

4646
unset(__C_BINDINGS_SOURCE_DIR)
4747
unset(__C_BINDINGS_INCLUDE_DIR)
4848

49-
# gt_enable_bindings_library_fortran()
49+
# cpp_bindgen_enable_fortran_library()
5050
#
5151
# Create a target to compile the generated Fortran module.
52-
# In the default case, when Fortran is enabled on the call to gt_add_bindings_library(), this target is automatically created.
52+
# In the default case, when Fortran is enabled on the call to cpp_bindgen_add_library(), this target is automatically created.
5353
# In case when the Fortran language was not enabled, we cannot create a library (add_library()) with Fortran files.
5454
# However if the user wants to use the target at a later stage, e.g. in testing (with Fortran enabled), the target can
55-
# be created by a call to gt_enable_bindings_library_fortran().
56-
function(gt_enable_bindings_library_fortran target_name)
55+
# be created by a call to cpp_bindgen_enable_fortran_library().
56+
function(cpp_bindgen_enable_fortran_library target_name)
5757
set(__C_BINDINGS_SOURCE_DIR @__C_BINDINGS_SOURCE_DIR@)
5858

5959
if(CMAKE_Fortran_COMPILER_LOADED)
6060
if(NOT TARGET fortran_bindings_handle)
61-
add_library(fortran_bindings_handle ${__C_BINDINGS_SOURCE_DIR}/c_bindings/array_descriptor.f90 ${__C_BINDINGS_SOURCE_DIR}/c_bindings/handle.f90)
61+
add_library(fortran_bindings_handle ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/array_descriptor.f90 ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/handle.f90)
6262
target_link_libraries(fortran_bindings_handle PUBLIC c_bindings_handle)
6363
target_include_directories(fortran_bindings_handle PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
6464
endif()
@@ -75,7 +75,7 @@ function(gt_enable_bindings_library_fortran target_name)
7575
endif()
7676
endfunction()
7777

78-
function(gt_add_bindings_library target_name)
78+
function(cpp_bindgen_add_library target_name)
7979
set(options)
8080
set(one_value_args FORTRAN_OUTPUT_DIR C_OUTPUT_DIR FORTRAN_MODULE_NAME)
8181
set(multi_value_args SOURCES)
@@ -100,15 +100,15 @@ function(gt_add_bindings_library target_name)
100100
endif()
101101

102102
add_library(${target_name} ${ARG_SOURCES})
103-
target_link_libraries(${target_name} PRIVATE c_bindings_generator)
103+
target_link_libraries(${target_name} PRIVATE cpp_bindgen_generator)
104104
# target_include_directories(${target_name} PRIVATE ${PROJECT_SOURCE_DIR}/include) #TODO probably wrong
105105

106106
if(GT_ENABLE_BINDINGS_GENERATION)
107107
# generator
108108
add_executable(${target_name}_decl_generator
109-
${__C_BINDINGS_SOURCE_DIR}/c_bindings/generator_main.cpp)
109+
${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/generator_main.cpp)
110110
set_target_properties(${target_name}_decl_generator PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/decl_generator")
111-
target_link_libraries(${target_name}_decl_generator c_bindings_generator)
111+
target_link_libraries(${target_name}_decl_generator cpp_bindgen_generator)
112112

113113
if (${APPLE})
114114
target_link_libraries(${target_name}_decl_generator
@@ -126,7 +126,7 @@ function(gt_add_bindings_library target_name)
126126
-DBINDINGS_C_DECL_FILENAME=${bindings_c_decl_filename}
127127
-DBINDINGS_FORTRAN_DECL_FILENAME=${bindings_fortran_decl_filename}
128128
-DFORTRAN_MODULE_NAME=${ARG_FORTRAN_MODULE_NAME}
129-
-P ${__C_BINDINGS_CMAKE_DIR}/gt_bindings_generate.cmake
129+
-P ${__C_BINDINGS_CMAKE_DIR}/cpp_bindgen_generate.cmake
130130
BYPRODUCTS ${bindings_c_decl_filename} ${bindings_fortran_decl_filename}
131131
DEPENDS $<TARGET_FILE:${target_name}_decl_generator>)
132132
else()
@@ -148,8 +148,8 @@ function(gt_add_bindings_library target_name)
148148

149149
# bindings Fortran library
150150
# Export the name of the generated file. The variable needs to exist in the whole cmake!
151-
# Reason: see description of gt_enable_bindings_library_fortran().
151+
# Reason: see description of cpp_bindgen_enable_fortran_library().
152152
set(GT_${target_name}_fortran_bindings_path ${bindings_fortran_decl_filename}
153153
CACHE INTERNAL "Path to the generated Fortran file for ${target_name}")
154-
gt_enable_bindings_library_fortran(${target_name} TRUE)
154+
cpp_bindgen_enable_fortran_library(${target_name} TRUE)
155155
endfunction()

cmake/export.cmake

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,50 +12,50 @@
1212

1313
include(CMakePackageConfigHelpers)
1414

15-
write_basic_package_version_file(gt_c_bindings-config-version.cmake
15+
write_basic_package_version_file(cpp_bindgen-config-version.cmake
1616
VERSION ${PROJECT_VERSION}
1717
COMPATIBILITY SameMajorVersion
1818
)
1919

20-
set(gt_c_bindings_MODULE_PATH lib/cmake)
21-
set(gt_c_bindings_SOURCES_PATH src)
22-
set(gt_c_bindings_INCLUDE_PATH include)
20+
set(cpp_bindgen_MODULE_PATH lib/cmake)
21+
set(cpp_bindgen_SOURCES_PATH src)
22+
set(cpp_bindgen_INCLUDE_PATH include)
2323

24-
configure_package_config_file(cmake/gt_c_bindings-config.cmake.in
25-
${CMAKE_CURRENT_BINARY_DIR}/gt_c_bindings-config.cmake
26-
PATH_VARS gt_c_bindings_MODULE_PATH gt_c_bindings_SOURCES_PATH gt_c_bindings_INCLUDE_PATH
24+
configure_package_config_file(cmake/cpp_bindgen-config.cmake.in
25+
${CMAKE_CURRENT_BINARY_DIR}/cpp_bindgen-config.cmake
26+
PATH_VARS cpp_bindgen_MODULE_PATH cpp_bindgen_SOURCES_PATH cpp_bindgen_INCLUDE_PATH
2727
INSTALL_DESTINATION lib/cmake
2828
)
2929

3030
install(
3131
FILES
32-
${CMAKE_CURRENT_BINARY_DIR}/gt_c_bindings-config.cmake
33-
${CMAKE_CURRENT_BINARY_DIR}/gt_c_bindings-config-version.cmake
32+
${CMAKE_CURRENT_BINARY_DIR}/cpp_bindgen-config.cmake
33+
${CMAKE_CURRENT_BINARY_DIR}/cpp_bindgen-config-version.cmake
3434
DESTINATION lib/cmake
3535
)
3636

37-
set(__C_BINDINGS_CMAKE_DIR "\${gt_c_bindings_MODULE_PATH}") #TODO refactor the variable names gt_c_bindings_MODULE_PATH, etc.
38-
set(__C_BINDINGS_SOURCE_DIR "\${gt_c_bindings_SOURCES_PATH}")
39-
set(__C_BINDINGS_INCLUDE_DIR "\${gt_c_bindings_INCLUDE_PATH}")
40-
configure_file(cmake/gt_bindings.cmake.in
41-
${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/gt_bindings.cmake
37+
set(__C_BINDINGS_CMAKE_DIR "\${cpp_bindgen_MODULE_PATH}") #TODO refactor the variable names cpp_bindgen_MODULE_PATH, etc.
38+
set(__C_BINDINGS_SOURCE_DIR "\${cpp_bindgen_SOURCES_PATH}")
39+
set(__C_BINDINGS_INCLUDE_DIR "\${cpp_bindgen_INCLUDE_PATH}")
40+
configure_file(cmake/cpp_bindgen.cmake.in
41+
${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/cpp_bindgen.cmake
4242
@ONLY)
4343
unset(__C_BINDINGS_CMAKE_DIR)
4444
unset(__C_BINDINGS_SOURCE_DIR)
4545
unset(__C_BINDINGS_INCLUDE_DIR)
4646

4747
set(CMAKE_SOURCES
48-
"${PROJECT_SOURCE_DIR}/cmake/gt_bindings_generate.cmake"
49-
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/gt_bindings.cmake"
48+
"${PROJECT_SOURCE_DIR}/cmake/cpp_bindgen_generate.cmake"
49+
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/cpp_bindgen.cmake"
5050
)
5151
set(CBINDINGS_SOURCES
52-
"${PROJECT_SOURCE_DIR}/src/c_bindings/generator.cpp"
53-
"${PROJECT_SOURCE_DIR}/src/c_bindings/generator_main.cpp"
54-
"${PROJECT_SOURCE_DIR}/src/c_bindings/array_descriptor.f90"
55-
"${PROJECT_SOURCE_DIR}/src/c_bindings/handle.f90"
56-
"${PROJECT_SOURCE_DIR}/src/c_bindings/handle.cpp"
52+
"${PROJECT_SOURCE_DIR}/src/cpp_bindgen/generator.cpp"
53+
"${PROJECT_SOURCE_DIR}/src/cpp_bindgen/generator_main.cpp"
54+
"${PROJECT_SOURCE_DIR}/src/cpp_bindgen/array_descriptor.f90"
55+
"${PROJECT_SOURCE_DIR}/src/cpp_bindgen/handle.f90"
56+
"${PROJECT_SOURCE_DIR}/src/cpp_bindgen/handle.cpp"
5757
)
5858

5959
install(DIRECTORY include/ DESTINATION include)
6060
install(FILES ${CMAKE_SOURCES} DESTINATION "lib/cmake")
61-
install(FILES ${CBINDINGS_SOURCES} DESTINATION "src/c_bindings")
61+
install(FILES ${CBINDINGS_SOURCES} DESTINATION "src/cpp_bindgen")

cmake/gt_c_bindings-config.cmake.in

Lines changed: 0 additions & 14 deletions
This file was deleted.

example/c_bindings/CMakeLists.txt.in

Lines changed: 0 additions & 68 deletions
This file was deleted.

example/c_bindings/README

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)