Skip to content

Commit 47d3fdc

Browse files
authored
Rename all gen to bindgen (#25)
and remove remaining mentions of `c_bindings`.
1 parent 28177d8 commit 47d3fdc

Some content is hidden

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

48 files changed

+569
-547
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ You can easily integrate **cpp_bindgen** in your CMake project with the followin
1313
```cmake
1414
include(FetchContent)
1515
FetchContent_Declare(
16-
c_bindings
17-
GIT_REPOSITORY https://github.com/GridTools/c_bindings.git
16+
cpp_bindgen
17+
GIT_REPOSITORY https://github.com/GridTools/cpp_bindgen.git
1818
GIT_TAG master # consider replacing master by a tagged version
1919
)
20-
FetchContent_GetProperties(c_bindings)
21-
if(NOT c_bindings_POPULATED)
22-
FetchContent_Populate(c_bindings)
23-
add_subdirectory(${c_bindings_SOURCE_DIR} ${c_bindings_BINARY_DIR})
20+
FetchContent_GetProperties(cpp_bindgen)
21+
if(NOT cpp_bindgen_POPULATED)
22+
FetchContent_Populate(cpp_bindgen)
23+
add_subdirectory(${cpp_bindgen_SOURCE_DIR} ${cpp_bindgen_BINARY_DIR})
2424
endif()
2525
```
2626

cmake/bindings.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function(generate_gt_bindings)
2-
set(__C_BINDINGS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
3-
set(__C_BINDINGS_CMAKE_DIR ${PROJECT_SOURCE_DIR}/cmake)
4-
set(__C_BINDINGS_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
2+
set(__CPP_BINDGEN_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
3+
set(__CPP_BINDGEN_CMAKE_DIR ${PROJECT_SOURCE_DIR}/cmake)
4+
set(__CPP_BINDGEN_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
55
configure_file(${PROJECT_SOURCE_DIR}/cmake/cpp_bindgen.cmake.in
66
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/bindings_for_build/cpp_bindgen.cmake
77
@ONLY)

cmake/cpp_bindgen-config.cmake.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ message(STATUS "GridTools cpp_bindgen version @PROJECT_VERSION@ found at ${cpp_b
77
include(CMakeFindDependencyMacro)
88
find_dependency(Boost @REQUIRED_BOOST_VERSION@)
99

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@)
10+
set_and_check(cpp_bindgen_CMAKE_DIR @PACKAGE_cpp_bindgen_CMAKE_DIR@)
11+
set_and_check(cpp_bindgen_SOURCE_DIR @PACKAGE_cpp_bindgen_SOURCE_DIR@)
12+
set_and_check(cpp_bindgen_INCLUDE_DIR @PACKAGE_cpp_bindgen_INCLUDE_DIR@)
1313

14-
include(${cpp_bindgen_MODULE_PATH}/cpp_bindgen.cmake)
14+
include(${cpp_bindgen_CMAKE_DIR}/cpp_bindgen.cmake)

cmake/cpp_bindgen.cmake.in

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,27 +31,27 @@ include_guard()
3131
option(GT_ENABLE_BINDINGS_GENERATION "If turned off, bindings will not be generated." ON)
3232

3333
# variables are unset after use for scoping, they need to be redefined in the macros
34-
set(__C_BINDINGS_SOURCE_DIR @__C_BINDINGS_SOURCE_DIR@)
35-
set(__C_BINDINGS_INCLUDE_DIR @__C_BINDINGS_INCLUDE_DIR@)
34+
set(__CPP_BINDGEN_SOURCE_DIR @__CPP_BINDGEN_SOURCE_DIR@)
35+
set(__CPP_BINDGEN_INCLUDE_DIR @__CPP_BINDGEN_INCLUDE_DIR@)
3636

3737
add_library(cpp_bindgen_interface INTERFACE)
38-
target_include_directories(cpp_bindgen_interface INTERFACE ${__C_BINDINGS_INCLUDE_DIR})
38+
target_include_directories(cpp_bindgen_interface INTERFACE ${__CPP_BINDGEN_INCLUDE_DIR})
3939
target_compile_features(cpp_bindgen_interface INTERFACE cxx_std_11)
4040
target_compile_definitions(cpp_bindgen_interface INTERFACE BOOST_PP_VARIADICS=1)
4141
if(CPP_BINDGEN_GT_LEGACY)
4242
target_compile_definitions(cpp_bindgen_interface INTERFACE CPP_BINDGEN_GT_LEGACY)
4343
endif()
4444

45-
add_library(cpp_bindgen_generator ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/generator.cpp)
45+
add_library(cpp_bindgen_generator ${__CPP_BINDGEN_SOURCE_DIR}/cpp_bindgen/generator.cpp)
4646
# PUBLIC to make export.hpp available in the sources passed to add_bindings_library()
4747
target_link_libraries(cpp_bindgen_generator PUBLIC Boost::boost)
4848
target_link_libraries(cpp_bindgen_generator PUBLIC cpp_bindgen_interface)
4949

50-
add_library(c_bindings_handle ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/handle.cpp)
51-
target_link_libraries(c_bindings_handle PUBLIC cpp_bindgen_interface)
50+
add_library(cpp_bindgen_handle ${__CPP_BINDGEN_SOURCE_DIR}/cpp_bindgen/handle.cpp)
51+
target_link_libraries(cpp_bindgen_handle PUBLIC cpp_bindgen_interface)
5252

53-
unset(__C_BINDINGS_SOURCE_DIR)
54-
unset(__C_BINDINGS_INCLUDE_DIR)
53+
unset(__CPP_BINDGEN_SOURCE_DIR)
54+
unset(__CPP_BINDGEN_INCLUDE_DIR)
5555

5656
# cpp_bindgen_enable_fortran_library()
5757
#
@@ -61,15 +61,15 @@ unset(__C_BINDINGS_INCLUDE_DIR)
6161
# However if the user wants to use the target at a later stage, e.g. in testing (with Fortran enabled), the target can
6262
# be created by a call to cpp_bindgen_enable_fortran_library().
6363
function(cpp_bindgen_enable_fortran_library target_name)
64-
set(__C_BINDINGS_SOURCE_DIR @__C_BINDINGS_SOURCE_DIR@)
65-
set(__C_BINDINGS_CMAKE_DIR @__C_BINDINGS_CMAKE_DIR@)
64+
set(__CPP_BINDGEN_SOURCE_DIR @__CPP_BINDGEN_SOURCE_DIR@)
65+
set(__CPP_BINDGEN_CMAKE_DIR @__CPP_BINDGEN_CMAKE_DIR@)
6666

6767
if(CMAKE_Fortran_COMPILER_LOADED)
6868
if(NOT TARGET fortran_bindings_handle)
69-
add_library(fortran_bindings_handle ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/array_descriptor.f90 ${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/handle.f90)
70-
target_link_libraries(fortran_bindings_handle PUBLIC c_bindings_handle)
69+
add_library(fortran_bindings_handle ${__CPP_BINDGEN_SOURCE_DIR}/cpp_bindgen/array_descriptor.f90 ${__CPP_BINDGEN_SOURCE_DIR}/cpp_bindgen/handle.f90)
70+
target_link_libraries(fortran_bindings_handle PUBLIC cpp_bindgen_handle)
7171
target_include_directories(fortran_bindings_handle PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
72-
include(${__C_BINDINGS_CMAKE_DIR}/fortran_helpers.cmake)
72+
include(${__CPP_BINDGEN_CMAKE_DIR}/fortran_helpers.cmake)
7373
cpp_bindgen_enable_fortran_preprocessing_on_target(fortran_bindings_handle)
7474
endif()
7575
if(NOT TARGET ${target_name}_fortran)
@@ -90,8 +90,8 @@ function(cpp_bindgen_add_library target_name)
9090
set(multi_value_args SOURCES)
9191
cmake_parse_arguments(ARG "${options}" "${one_value_args};" "${multi_value_args}" ${ARGN})
9292

93-
set(__C_BINDINGS_SOURCE_DIR @__C_BINDINGS_SOURCE_DIR@)
94-
set(__C_BINDINGS_CMAKE_DIR @__C_BINDINGS_CMAKE_DIR@)
93+
set(__CPP_BINDGEN_SOURCE_DIR @__CPP_BINDGEN_SOURCE_DIR@)
94+
set(__CPP_BINDGEN_CMAKE_DIR @__CPP_BINDGEN_CMAKE_DIR@)
9595

9696
if(NOT DEFINED ARG_FORTRAN_MODULE_NAME)
9797
set(ARG_FORTRAN_MODULE_NAME ${target_name}) # default value
@@ -114,7 +114,7 @@ function(cpp_bindgen_add_library target_name)
114114
if(GT_ENABLE_BINDINGS_GENERATION)
115115
# generator
116116
add_executable(${target_name}_decl_generator
117-
${__C_BINDINGS_SOURCE_DIR}/cpp_bindgen/generator_main.cpp)
117+
${__CPP_BINDGEN_SOURCE_DIR}/cpp_bindgen/generator_main.cpp)
118118
set_target_properties(${target_name}_decl_generator PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/decl_generator")
119119
target_link_libraries(${target_name}_decl_generator cpp_bindgen_generator)
120120

@@ -134,7 +134,7 @@ function(cpp_bindgen_add_library target_name)
134134
-DBINDINGS_C_DECL_FILENAME=${bindings_c_decl_filename}
135135
-DBINDINGS_FORTRAN_DECL_FILENAME=${bindings_fortran_decl_filename}
136136
-DFORTRAN_MODULE_NAME=${ARG_FORTRAN_MODULE_NAME}
137-
-P ${__C_BINDINGS_CMAKE_DIR}/cpp_bindgen_generate.cmake
137+
-P ${__CPP_BINDGEN_CMAKE_DIR}/cpp_bindgen_generate.cmake
138138
BYPRODUCTS ${bindings_c_decl_filename} ${bindings_fortran_decl_filename}
139139
DEPENDS $<TARGET_FILE:${target_name}_decl_generator>)
140140
else()
@@ -151,7 +151,7 @@ function(cpp_bindgen_add_library target_name)
151151
# bindings c library
152152
add_library(${target_name}_c INTERFACE)
153153
target_link_libraries(${target_name}_c INTERFACE ${target_name})
154-
target_link_libraries(${target_name}_c INTERFACE c_bindings_handle)
154+
target_link_libraries(${target_name}_c INTERFACE cpp_bindgen_handle)
155155
target_link_libraries(${target_name}_c INTERFACE cpp_bindgen_interface)
156156

157157
add_dependencies(${target_name}_c ${target_name}_declarations)

cmake/export.cmake

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ export(PACKAGE cpp_bindgen)
44
include(CMakePackageConfigHelpers)
55

66
# for build tree
7-
set(cpp_bindgen_MODULE_PATH ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake)
8-
set(cpp_bindgen_SOURCES_PATH ${PROJECT_SOURCE_DIR}/src)
9-
set(cpp_bindgen_INCLUDE_PATH ${PROJECT_SOURCE_DIR}/include)
7+
set(cpp_bindgen_CMAKE_DIR ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake)
8+
set(cpp_bindgen_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
9+
set(cpp_bindgen_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
1010
configure_package_config_file(
1111
cmake/cpp_bindgen-config.cmake.in
1212
${PROJECT_BINARY_DIR}/cpp_bindgen-config.cmake
13-
PATH_VARS cpp_bindgen_MODULE_PATH cpp_bindgen_SOURCES_PATH cpp_bindgen_INCLUDE_PATH
13+
PATH_VARS cpp_bindgen_CMAKE_DIR cpp_bindgen_SOURCE_DIR cpp_bindgen_INCLUDE_DIR
1414
INSTALL_DESTINATION ${PROJECT_BINARY_DIR}
1515
)
1616
write_basic_package_version_file(
@@ -20,13 +20,13 @@ write_basic_package_version_file(
2020
)
2121

2222
# for install tree
23-
set(cpp_bindgen_MODULE_PATH lib/cmake)
24-
set(cpp_bindgen_SOURCES_PATH src)
25-
set(cpp_bindgen_INCLUDE_PATH include)
23+
set(cpp_bindgen_CMAKE_DIR lib/cmake)
24+
set(cpp_bindgen_SOURCE_DIR src)
25+
set(cpp_bindgen_INCLUDE_DIR include)
2626
configure_package_config_file(
2727
cmake/cpp_bindgen-config.cmake.in
2828
${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/install/cpp_bindgen-config.cmake
29-
PATH_VARS cpp_bindgen_MODULE_PATH cpp_bindgen_SOURCES_PATH cpp_bindgen_INCLUDE_PATH
29+
PATH_VARS cpp_bindgen_CMAKE_DIR cpp_bindgen_SOURCE_DIR cpp_bindgen_INCLUDE_DIR
3030
INSTALL_DESTINATION lib/cmake
3131
)
3232
write_basic_package_version_file(
@@ -42,15 +42,15 @@ install(
4242
DESTINATION lib/cmake
4343
)
4444

45-
set(__C_BINDINGS_CMAKE_DIR "\${cpp_bindgen_MODULE_PATH}") #TODO refactor the variable names cpp_bindgen_MODULE_PATH, etc.
46-
set(__C_BINDINGS_SOURCE_DIR "\${cpp_bindgen_SOURCES_PATH}")
47-
set(__C_BINDINGS_INCLUDE_DIR "\${cpp_bindgen_INCLUDE_PATH}")
45+
set(__CPP_BINDGEN_CMAKE_DIR "\${cpp_bindgen_CMAKE_DIR}")
46+
set(__CPP_BINDGEN_SOURCE_DIR "\${cpp_bindgen_SOURCE_DIR}")
47+
set(__CPP_BINDGEN_INCLUDE_DIR "\${cpp_bindgen_INCLUDE_DIR}")
4848
configure_file(cmake/cpp_bindgen.cmake.in
4949
${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/build-install/lib/cmake/cpp_bindgen.cmake
5050
@ONLY)
51-
unset(__C_BINDINGS_CMAKE_DIR)
52-
unset(__C_BINDINGS_SOURCE_DIR)
53-
unset(__C_BINDINGS_INCLUDE_DIR)
51+
unset(__CPP_BINDGEN_CMAKE_DIR)
52+
unset(__CPP_BINDGEN_SOURCE_DIR)
53+
unset(__CPP_BINDGEN_INCLUDE_DIR)
5454

5555
set(CMAKE_SOURCES
5656
"${PROJECT_SOURCE_DIR}/cmake/cpp_bindgen_generate.cmake"

example/simple/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.12.4)
22
project(simple_example LANGUAGES CXX C Fortran)
33

4-
# 1) find installed c_bindings version
4+
# 1) find installed cpp_bindgen version
55
find_package(cpp_bindgen)
66

77
# 2) create a library with bindings

example/simple/driver.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
program main
1010
use iso_c_binding
11-
use gen_handle
11+
use bindgen_handle
1212
use simple
1313
implicit none
1414
integer, parameter :: i = 9

example/simple/simple.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
#include <cpp_bindgen/export.hpp>
1212
#include <iostream>
1313

14-
// In this example, we demonstrate how the c_bindings library can be used to export functions to C and Fortran.
14+
// In this example, we demonstrate how the cpp_bindgen library can be used to export functions to C and Fortran.
1515

1616
namespace {
1717
void print_number(int i) { std::cout << "Printing from C++: " << i << std::endl; }
1818

19-
GEN_EXPORT_BINDING_1(print_number_from_cpp, print_number);
19+
BINDGEN_EXPORT_BINDING_1(print_number_from_cpp, print_number);
2020
} // namespace

example/simple_fetch_content/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ FetchContent_Declare(
1313
)
1414
# FetchContent_MakeAvailable(cpp_bindgen) for CMake >= 3.14, otherwise:
1515
FetchContent_GetProperties(cpp_bindgen)
16-
if(NOT c_bindings_POPULATED)
16+
if(NOT cpp_bindgen_POPULATED)
1717
FetchContent_Populate(cpp_bindgen)
1818
add_subdirectory(${cpp_bindgen_SOURCE_DIR} ${cpp_bindgen_BINARY_DIR})
1919
endif()

example/simple_fetch_content/driver.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
program main
1010
use iso_c_binding
11-
use gen_handle
11+
use bindgen_handle
1212
use simple
1313
implicit none
1414
integer, parameter :: i = 9

0 commit comments

Comments
 (0)