Skip to content

Commit

Permalink
Revert changes to module CMakeLists.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
isherman committed Dec 23, 2023
1 parent 421c477 commit 817b2d8
Show file tree
Hide file tree
Showing 5 changed files with 112 additions and 502 deletions.
36 changes: 19 additions & 17 deletions cpp/farm_ng/core/enum/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
add_library(farm_ng_core_enum INTERFACE
#[[
farm_ng_core_enum
Set of macros for compile-time enum introspection / autogeneration of auxiliary
helper functions.
Depends on third_party/farm_pp.
]]
farm_ng_add_library(farm_ng_core_enum
NAMESPACE farm_ng_core
INCLUDE_DIR ../../..
HEADERS
enum_flags_without_ostream.h
enum_flags.h
enum_without_iostream.h
Expand All @@ -9,25 +21,15 @@ add_library(farm_ng_core_enum INTERFACE

target_link_libraries(farm_ng_core_enum INTERFACE farm_ng_core::farm_pp)

file(RELATIVE_PATH include_path_abs ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../..)

# TODO: Use Filesets?
target_include_directories(farm_ng_core_enum INTERFACE
"$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/${include_path_abs}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")


set(TEST_BASENAMES
set(FARM_NG_ENUM_TESTS
enum
enum_without_iostream
enum_flags
enum_flags_without_ostream)

foreach(test_basename ${TEST_BASENAMES})
set(test_target ${test_basename}_test_farm_ng_core_enum)
set(test_src ${test_basename}_test.cpp)
add_executable(${test_target} ${test_src})
target_link_libraries(${test_target} farm_ng_core_enum GTest::gtest_main)
add_test(NAME ${test_target} COMMAND ${test_target})
set_property(TEST ${test_target} PROPERTY LABELS small)
foreach(test_basename ${FARM_NG_ENUM_TESTS})
farm_ng_add_test(${test_basename}
PARENT_LIBRARY farm_ng_core_enum
LINK_LIBRARIES farm_ng_core_enum
LABELS small)
endforeach()
49 changes: 25 additions & 24 deletions cpp/farm_ng/core/logging/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
add_library(farm_ng_core_logging SHARED
#[[
farm_ng_core_logging
Console logging, string format and CHECK macros.
Depends on libfmt, expected (both part of future c++ standards),
thirdparty/farm_pp, and farm_ng_core_enum.
]]
farm_ng_add_library(farm_ng_core_logging
NAMESPACE farm_ng_core
INCLUDE_DIR ../../..
HEADERS
assert_within.h
backtrace.h
backtrace.cpp
expected.h
expected.cpp
format.h
format.cpp
trace_debug_log.h
logger.h
backtrace.h
SOURCES
format.cpp
expected.cpp
logger.cpp
trace_debug_log.h
backtrace.cpp
)
add_library(farm_ng_core::farm_ng_core_logging ALIAS farm_ng_core_logging)


file(RELATIVE_PATH include_path_abs ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
target_include_directories(farm_ng_core_logging PUBLIC
"$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/${include_path_abs}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")

target_link_libraries(farm_ng_core_logging PUBLIC
farm_ng_core_enum
Expand All @@ -25,23 +31,18 @@ target_link_libraries(farm_ng_core_logging PUBLIC
pthread
)

find_package(Eigen3 3.4.0 REQUIRED)

# TODO: Install

set(TEST_BASENAMES
foreach(test_basename
assert_within
expected
format
logger
logger_define_trace_variant
logger_define_debug_variant
logger_define_info_variant)

foreach(test_basename ${TEST_BASENAMES})
set(test_target ${test_basename}_test_farm_ng_core_logging)
set(test_src ${test_basename}_test.cpp)
add_executable(${test_target} ${test_src})
target_link_libraries(${test_target} farm_ng_core_logging Eigen3::Eigen GTest::gtest_main)
add_test(NAME ${test_target} COMMAND ${test_target})
set_property(TEST ${test_target} PROPERTY LABELS small)
farm_ng_add_test(${test_basename}
PARENT_LIBRARY farm_ng_core_logging
LINK_LIBRARIES farm_ng_core_logging Eigen3::Eigen
LABELS small)
endforeach()
51 changes: 29 additions & 22 deletions cpp/farm_ng/core/misc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
add_library(farm_ng_core_misc SHARED
#[[
farm_ng_core_misc
Header-only standard library additions such as erase, string utils, file system,
threading tools and other general purpose miscellaneous utilities.
Note: no geometry, no computer vision, not math.
Only depends on farm_ng_core_enum and farm_ng_core_logging and should not
pull in additional dependency in the future.
]]

farm_ng_add_library(farm_ng_core_misc
NAMESPACE farm_ng_core
INCLUDE_DIR ../../..
HEADERS
conversions.h
erase.h
filesystem.h
Expand All @@ -10,22 +26,16 @@ add_library(farm_ng_core_misc SHARED
variant_utils.h
uri.h
void.h
SOURCES
time_series.cpp
)
add_library(farm_ng_core::farm_ng_core_misc ALIAS farm_ng_core_misc)

file(RELATIVE_PATH include_path_abs ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
target_include_directories(farm_ng_core_misc PUBLIC
"$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/${include_path_abs}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")

target_link_libraries(farm_ng_core_misc PUBLIC
farm_ng_core_enum
farm_ng_core_logging
Sophus::sophus_concept
farm_ng_core_enum farm_ng_core_logging
Sophus::sophus_linalg
)

set(TEST_BASENAMES
foreach(test_basename
conversions
erase
filesystem
Expand All @@ -34,16 +44,13 @@ set(TEST_BASENAMES
time_series
tokenize
uri
)

foreach(test_basename ${TEST_BASENAMES})
set(test_target ${test_basename}_test_farm_ng_core_misc)
set(test_src ${test_basename}_test.cpp)
add_executable(${test_target} ${test_src})
target_link_libraries(${test_target} farm_ng_core_misc GTest::gtest_main)
add_test(NAME ${test_target} COMMAND ${test_target})
set_property(TEST ${test_target} PROPERTY LABELS small)
)
farm_ng_add_test(${test_basename}
PARENT_LIBRARY farm_ng_core_misc
LINK_LIBRARIES farm_ng_core_misc
LABELS small)
endforeach()

# TODO
# add_subdirectory(proto)
if(BUILD_FARM_NG_PROTOS)
add_subdirectory(proto)
endif()
58 changes: 33 additions & 25 deletions cpp/farm_ng/core/struct/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
add_library(farm_ng_core_struct INTERFACE
base.h
macro_lib.h
struct.h
)
add_library(farm_ng_core::farm_ng_core_struct ALIAS farm_ng_core_struct)
#[[
farm_ng_core_struct
Set of macros for compile-time enum introspection / autogeneration of auxiliary
helper functions.
Depends on third_party/farm_pp.
file(RELATIVE_PATH include_path_abs ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
]]

set(
farm_ng_core_struct_files
base
macro_lib
struct)

set(farm_ng_core_core_struct_headers)
foreach(x ${farm_ng_core_struct_files} )
list(APPEND farm_ng_core_core_struct_headers ${x}.h)
endforeach()

target_include_directories(farm_ng_core_struct INTERFACE
"$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/${include_path_abs}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")

target_link_libraries(farm_ng_core_struct INTERFACE
farm_ng_core::farm_pp
farm_ng_core::farm_ng_core_proto_defs
farm_ng_add_library(farm_ng_core_struct
NAMESPACE farm_ng_core
INCLUDE_DIR ../../..
HEADERS
base
macro_lib
struct
)

# TODO: Install
target_link_libraries(farm_ng_core_struct
INTERFACE farm_ng_core::farm_ng_core_logging farm_ng_core::farm_ng_core_proto_defs)

set(TEST_BASENAMES
base
macro_lib
struct)

foreach(test_basename ${TEST_BASENAMES})
set(test_target ${test_basename}_test_farm_ng_core_struct)
set(test_src ${test_basename}_test.cpp)
add_executable(${test_target} ${test_src})
target_link_libraries(${test_target} farm_ng_core_struct GTest::gtest_main)
add_test(NAME ${test_target} COMMAND ${test_target})
set_property(TEST ${test_target} PROPERTY LABELS small)
foreach(test_basename ${farm_ng_core_struct_files})
farm_ng_add_test(${test_basename}
PARENT_LIBRARY farm_ng_core_struct
LINK_LIBRARIES farm_ng_core_struct
LABELS small)
endforeach()
Loading

0 comments on commit 817b2d8

Please sign in to comment.