Revert "Bump minimum required CMake version to 3.10"
This reverts commit a475f45753
.
This commit is contained in:
parent
09be44a352
commit
872184fe8b
|
@ -104,13 +104,15 @@ add_library(3d-viewer STATIC ${3D-VIEWER_SRCS})
|
||||||
add_dependencies( 3d-viewer pcbcommon )
|
add_dependencies( 3d-viewer pcbcommon )
|
||||||
|
|
||||||
target_link_libraries( 3d-viewer
|
target_link_libraries( 3d-viewer
|
||||||
PRIVATE
|
|
||||||
gal
|
gal
|
||||||
kimath
|
kimath
|
||||||
nlohmann_json
|
|
||||||
${Boost_LIBRARIES}
|
${Boost_LIBRARIES}
|
||||||
${wxWidgets_LIBRARIES}
|
${wxWidgets_LIBRARIES}
|
||||||
${OPENGL_LIBRARIES}
|
${OPENGL_LIBRARIES}
|
||||||
kicad_3dsg )
|
kicad_3dsg )
|
||||||
|
|
||||||
|
target_include_directories( 3d-viewer PRIVATE
|
||||||
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
add_subdirectory( 3d_cache )
|
add_subdirectory( 3d_cache )
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
#
|
#
|
||||||
|
|
||||||
cmake_minimum_required( VERSION 3.10 FATAL_ERROR )
|
cmake_minimum_required( VERSION 3.2 FATAL_ERROR )
|
||||||
|
|
||||||
# Default to CMAKE_BUILD_TYPE = Release unless overridden on command line
|
# Default to CMAKE_BUILD_TYPE = Release unless overridden on command line
|
||||||
# http://www.cmake.org/pipermail/cmake/2008-September/023808.html
|
# http://www.cmake.org/pipermail/cmake/2008-September/023808.html
|
||||||
|
@ -190,6 +190,25 @@ endif()
|
||||||
# change to add_compile_definitions() after minimum required CMake version is 3.12
|
# change to add_compile_definitions() after minimum required CMake version is 3.12
|
||||||
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUG> )
|
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUG> )
|
||||||
|
|
||||||
|
# CMP0063: CMake < 3.3 does not handle hidden visibility for static libraries,
|
||||||
|
# and 3.3 is backwards compatible when the minimum version is smaller than 3.3.
|
||||||
|
if( POLICY CMP0063 )
|
||||||
|
cmake_policy( GET CMP0063 VISIBILITY_POLICY )
|
||||||
|
if( VISIBILITY_POLICY STREQUAL NEW )
|
||||||
|
message( WARNING "Compatibility code for CMake < 3.3 can be removed, search for CMP0063" )
|
||||||
|
else()
|
||||||
|
cmake_policy( SET CMP0063 NEW )
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if( CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY AND NOT APPLE )
|
||||||
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY}hidden" )
|
||||||
|
endif()
|
||||||
|
if( CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN AND NOT APPLE )
|
||||||
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN}" )
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Add option to add user directories for linker, if any
|
# Add option to add user directories for linker, if any
|
||||||
LINK_DIRECTORIES( ${LINK_DIRECTORIES_PATH} )
|
LINK_DIRECTORIES( ${LINK_DIRECTORIES_PATH} )
|
||||||
|
|
||||||
|
@ -218,7 +237,6 @@ perform_feature_checks()
|
||||||
# Setup the compiler warnings
|
# Setup the compiler warnings
|
||||||
include( ${CMAKE_MODULE_PATH}/Warnings.cmake )
|
include( ${CMAKE_MODULE_PATH}/Warnings.cmake )
|
||||||
|
|
||||||
|
|
||||||
if( WIN32 )
|
if( WIN32 )
|
||||||
# define UNICODE and_UNICODE definition on Windows. KiCad uses unicode.
|
# define UNICODE and_UNICODE definition on Windows. KiCad uses unicode.
|
||||||
# Both definitions are required
|
# Both definitions are required
|
||||||
|
|
|
@ -72,7 +72,6 @@ add_library( gal STATIC ${GAL_SRCS} )
|
||||||
target_link_libraries( gal
|
target_link_libraries( gal
|
||||||
common # This is needed until the circular dependency is removed
|
common # This is needed until the circular dependency is removed
|
||||||
kimath
|
kimath
|
||||||
nlohmann_json
|
|
||||||
bitmaps
|
bitmaps
|
||||||
${GLEW_LIBRARIES}
|
${GLEW_LIBRARIES}
|
||||||
${CAIRO_LIBRARIES}
|
${CAIRO_LIBRARIES}
|
||||||
|
@ -81,6 +80,10 @@ target_link_libraries( gal
|
||||||
${GDI_PLUS_LIBRARIES}
|
${GDI_PLUS_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( gal PRIVATE
|
||||||
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# Only for win32 cross compilation using MXE
|
# Only for win32 cross compilation using MXE
|
||||||
if( WIN32 AND MSYS )
|
if( WIN32 AND MSYS )
|
||||||
|
@ -461,18 +464,22 @@ set( COMMON_SRCS
|
||||||
|
|
||||||
add_library( common STATIC
|
add_library( common STATIC
|
||||||
${COMMON_SRCS}
|
${COMMON_SRCS}
|
||||||
|
$<TARGET_OBJECTS:libcontext>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( common PRIVATE
|
||||||
|
$<TARGET_PROPERTY:libcontext,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies( common libcontext )
|
||||||
add_dependencies( common version_header )
|
add_dependencies( common version_header )
|
||||||
add_dependencies( common compoundfilereader ) # used by altium_parser.cpp
|
add_dependencies( common compoundfilereader ) # used by altium_parser.cpp
|
||||||
|
|
||||||
target_link_libraries( common
|
target_link_libraries( common
|
||||||
libcontext
|
|
||||||
kimath
|
kimath
|
||||||
kiplatform
|
kiplatform
|
||||||
bitmaps
|
bitmaps
|
||||||
gal
|
gal
|
||||||
compoundfilereader
|
|
||||||
${Boost_LIBRARIES}
|
${Boost_LIBRARIES}
|
||||||
${CURL_LIBRARIES}
|
${CURL_LIBRARIES}
|
||||||
${OPENSSL_LIBRARIES} # empty on Apple
|
${OPENSSL_LIBRARIES} # empty on Apple
|
||||||
|
@ -480,12 +487,14 @@ target_link_libraries( common
|
||||||
${EXTRA_LIBS}
|
${EXTRA_LIBS}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories( common
|
target_include_directories( common PUBLIC
|
||||||
PUBLIC
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
.
|
|
||||||
${CMAKE_BINARY_DIR}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( common PUBLIC
|
||||||
|
$<TARGET_PROPERTY:compoundfilereader,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
) # used by altium_parser.cpp
|
||||||
|
|
||||||
set( PCB_COMMON_SRCS
|
set( PCB_COMMON_SRCS
|
||||||
base_screen.cpp
|
base_screen.cpp
|
||||||
eda_text.cpp
|
eda_text.cpp
|
||||||
|
@ -569,6 +578,10 @@ set_source_files_properties( ${PCB_COMMON_SRCS} PROPERTIES
|
||||||
|
|
||||||
add_library( pcbcommon STATIC ${PCB_COMMON_SRCS} )
|
add_library( pcbcommon STATIC ${PCB_COMMON_SRCS} )
|
||||||
|
|
||||||
|
target_include_directories( pcbcommon PUBLIC
|
||||||
|
$<TARGET_PROPERTY:delaunator,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
target_link_libraries( pcbcommon PUBLIC
|
target_link_libraries( pcbcommon PUBLIC
|
||||||
common
|
common
|
||||||
delaunator
|
delaunator
|
||||||
|
|
|
@ -22,6 +22,7 @@ endif()
|
||||||
include_directories( BEFORE ${INC_BEFORE} )
|
include_directories( BEFORE ${INC_BEFORE} )
|
||||||
include_directories(
|
include_directories(
|
||||||
./dialogs
|
./dialogs
|
||||||
|
./netlist_exporters
|
||||||
./widgets
|
./widgets
|
||||||
symbol_editor
|
symbol_editor
|
||||||
./libview
|
./libview
|
||||||
|
@ -379,14 +380,12 @@ add_library( eeschema_kiface_objects OBJECT
|
||||||
${EESCHEMA_COMMON_SRCS}
|
${EESCHEMA_COMMON_SRCS}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories( eeschema_kiface_objects
|
# CMake <3.9 can't link anything to object libraries,
|
||||||
PUBLIC
|
# but we only need include directories, as we will link the kiface MODULE
|
||||||
.
|
target_include_directories( eeschema_kiface_objects PUBLIC
|
||||||
netlist_exporters )
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
$<TARGET_PROPERTY:common,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
target_link_libraries( eeschema_kiface_objects
|
)
|
||||||
PUBLIC
|
|
||||||
common )
|
|
||||||
|
|
||||||
# Since we're not using target_link_libraries, we need to explicitly
|
# Since we're not using target_link_libraries, we need to explicitly
|
||||||
# declare the dependency
|
# declare the dependency
|
||||||
|
@ -394,11 +393,14 @@ add_dependencies( eeschema_kiface_objects common )
|
||||||
|
|
||||||
add_library( eeschema_kiface MODULE
|
add_library( eeschema_kiface MODULE
|
||||||
eeschema.cpp
|
eeschema.cpp
|
||||||
|
$<TARGET_OBJECTS:eeschema_kiface_objects>
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories( eeschema_kiface PUBLIC
|
||||||
|
$<TARGET_PROPERTY:eeschema_kiface_objects,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries( eeschema_kiface
|
target_link_libraries( eeschema_kiface
|
||||||
PRIVATE
|
|
||||||
eeschema_kiface_objects
|
|
||||||
common
|
common
|
||||||
sexpr
|
sexpr
|
||||||
markdown_lib
|
markdown_lib
|
||||||
|
@ -408,7 +410,6 @@ target_link_libraries( eeschema_kiface
|
||||||
|
|
||||||
if( KICAD_SPICE )
|
if( KICAD_SPICE )
|
||||||
target_link_libraries( eeschema_kiface
|
target_link_libraries( eeschema_kiface
|
||||||
PRIVATE
|
|
||||||
${NGSPICE_LIBRARY}
|
${NGSPICE_LIBRARY}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -131,10 +131,16 @@ add_library( gerbview_kiface_objects OBJECT
|
||||||
${WIDGET_SRCS}
|
${WIDGET_SRCS}
|
||||||
${GERBVIEW_EXTRA_SRCS}
|
${GERBVIEW_EXTRA_SRCS}
|
||||||
)
|
)
|
||||||
target_link_libraries( gerbview_kiface_objects
|
|
||||||
PUBLIC
|
# Since we're not using target_link_libraries, we need to explicitly
|
||||||
common
|
# declare the dependency
|
||||||
gal
|
add_dependencies( gerbview_kiface_objects common )
|
||||||
|
add_dependencies( gerbview_kiface_objects gal )
|
||||||
|
|
||||||
|
# CMake <3.9 can't link anything to object libraries,
|
||||||
|
# but we only need include directories, as we will link the kiface MODULE
|
||||||
|
target_include_directories( gerbview_kiface_objects PRIVATE
|
||||||
|
$<TARGET_PROPERTY:common,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
|
|
||||||
# the main gerbview program, in DSO form.
|
# the main gerbview program, in DSO form.
|
||||||
|
@ -145,7 +151,6 @@ set_target_properties( gerbview_kiface PROPERTIES
|
||||||
SUFFIX ${KIFACE_SUFFIX}
|
SUFFIX ${KIFACE_SUFFIX}
|
||||||
)
|
)
|
||||||
target_link_libraries( gerbview_kiface
|
target_link_libraries( gerbview_kiface
|
||||||
nlohmann_json
|
|
||||||
gal
|
gal
|
||||||
common
|
common
|
||||||
${wxWidgets_LIBRARIES}
|
${wxWidgets_LIBRARIES}
|
||||||
|
@ -161,6 +166,10 @@ if( MAKE_LINK_MAPS )
|
||||||
LINK_FLAGS "-Wl,-cref,-Map=_gerbview.kiface.map" )
|
LINK_FLAGS "-Wl,-cref,-Map=_gerbview.kiface.map" )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
target_include_directories( gerbview_kiface PRIVATE
|
||||||
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
# if building gerbview, then also build gerbview_kiface if out of date.
|
# if building gerbview, then also build gerbview_kiface if out of date.
|
||||||
add_dependencies( gerbview gerbview_kiface )
|
add_dependencies( gerbview gerbview_kiface )
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,10 @@ add_executable( kicad WIN32 MACOSX_BUNDLE
|
||||||
${KICAD_RESOURCES}
|
${KICAD_RESOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( kicad PRIVATE
|
||||||
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
if( UNIX )
|
if( UNIX )
|
||||||
# for build directory: create kiface symlinks so kicad (exe) can be run in-situ
|
# for build directory: create kiface symlinks so kicad (exe) can be run in-situ
|
||||||
add_custom_target( kiface_sym_links
|
add_custom_target( kiface_sym_links
|
||||||
|
@ -72,13 +76,11 @@ if( APPLE )
|
||||||
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_BINARY_DIR}/kicad/Info.plist
|
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_BINARY_DIR}/kicad/Info.plist
|
||||||
)
|
)
|
||||||
target_link_libraries( kicad
|
target_link_libraries( kicad
|
||||||
nlohmann_json
|
|
||||||
common
|
common
|
||||||
${wxWidgets_LIBRARIES}
|
${wxWidgets_LIBRARIES}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
target_link_libraries( kicad
|
target_link_libraries( kicad
|
||||||
nlohmann_json
|
|
||||||
common
|
common
|
||||||
gal
|
gal
|
||||||
common #repeated due to a circular dependancy bewteen gal and common
|
common #repeated due to a circular dependancy bewteen gal and common
|
||||||
|
|
|
@ -26,12 +26,15 @@ set( KIMATH_SRCS
|
||||||
# Include the other smaller math libraries in this one for convenience
|
# Include the other smaller math libraries in this one for convenience
|
||||||
add_library( kimath STATIC
|
add_library( kimath STATIC
|
||||||
${KIMATH_SRCS}
|
${KIMATH_SRCS}
|
||||||
|
$<TARGET_OBJECTS:clipper>
|
||||||
|
$<TARGET_OBJECTS:othermath>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_dependencies( kimath clipper )
|
||||||
|
add_dependencies( kimath rtree )
|
||||||
|
add_dependencies( kimath othermath )
|
||||||
|
|
||||||
target_link_libraries( kimath
|
target_link_libraries( kimath
|
||||||
clipper
|
|
||||||
othermath
|
|
||||||
rtree
|
|
||||||
${wxWidgets_LIBRARIES} # wxLogDebug, wxASSERT
|
${wxWidgets_LIBRARIES} # wxLogDebug, wxASSERT
|
||||||
${Boost_LIBRARIES} # Because of the OPT types
|
${Boost_LIBRARIES} # Because of the OPT types
|
||||||
)
|
)
|
||||||
|
@ -39,6 +42,9 @@ target_link_libraries( kimath
|
||||||
target_include_directories( kimath PUBLIC
|
target_include_directories( kimath PUBLIC
|
||||||
${PROJECT_BINARY_DIR}
|
${PROJECT_BINARY_DIR}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
|
$<TARGET_PROPERTY:clipper,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
$<TARGET_PROPERTY:othermath,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
$<TARGET_PROPERTY:rtree,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
)
|
)
|
||||||
|
|
||||||
# core/optional.h is needed for OPT types
|
# core/optional.h is needed for OPT types
|
||||||
|
|
|
@ -624,10 +624,13 @@ target_link_libraries( pcbnew
|
||||||
# There's way too much crap coming in from common yet.
|
# There's way too much crap coming in from common yet.
|
||||||
common
|
common
|
||||||
gal
|
gal
|
||||||
nlohmann_json
|
|
||||||
${wxWidgets_LIBRARIES}
|
${wxWidgets_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( pcbnew INTERFACE
|
||||||
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
if( PCBNEW_LINK_MAPS )
|
if( PCBNEW_LINK_MAPS )
|
||||||
set_target_properties( pcbnew PROPERTIES
|
set_target_properties( pcbnew PROPERTIES
|
||||||
LINK_FLAGS "-Wl,-cref,-Map=pcbnew.map" )
|
LINK_FLAGS "-Wl,-cref,-Map=pcbnew.map" )
|
||||||
|
@ -652,16 +655,22 @@ make_lexer(
|
||||||
|
|
||||||
# CMake <3.9 can't link anything to object libraries,
|
# CMake <3.9 can't link anything to object libraries,
|
||||||
# but we only need include directories, as we will link the kiface MODULE
|
# but we only need include directories, as we will link the kiface MODULE
|
||||||
target_link_libraries( pcbnew_kiface_objects
|
target_include_directories( pcbnew_kiface_objects PRIVATE
|
||||||
PRIVATE
|
$<TARGET_PROPERTY:common,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
common
|
$<TARGET_PROPERTY:dxflib_qcad,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
dxflib_qcad
|
$<TARGET_PROPERTY:nanosvg,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
nanosvg
|
$<TARGET_PROPERTY:tinyspline_lib,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
tinyspline_lib
|
$<TARGET_PROPERTY:nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
nlohmann_json
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library( pcbnew_kiface MODULE )
|
# Since we're not using target_link_libraries, we need to explicitly
|
||||||
|
# declare the dependency
|
||||||
|
add_dependencies( pcbnew_kiface_objects common )
|
||||||
|
add_dependencies( pcbnew_kiface_objects dxflib_qcad )
|
||||||
|
add_dependencies( pcbnew_kiface_objects tinyspline_lib )
|
||||||
|
add_dependencies( pcbnew_kiface_objects nanosvg )
|
||||||
|
|
||||||
|
add_library( pcbnew_kiface MODULE $<TARGET_OBJECTS:pcbnew_kiface_objects> )
|
||||||
|
|
||||||
set_target_properties( pcbnew_kiface PROPERTIES
|
set_target_properties( pcbnew_kiface PROPERTIES
|
||||||
# Decorate OUTPUT_NAME with PREFIX and SUFFIX, creating something like
|
# Decorate OUTPUT_NAME with PREFIX and SUFFIX, creating something like
|
||||||
|
@ -684,7 +693,6 @@ if ( KICAD_BUILD_TESTS )
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set( PCBNEW_KIFACE_LIBRARIES
|
set( PCBNEW_KIFACE_LIBRARIES
|
||||||
pcbnew_kiface_objects
|
|
||||||
3d-viewer
|
3d-viewer
|
||||||
connectivity
|
connectivity
|
||||||
pcbcommon
|
pcbcommon
|
||||||
|
@ -706,10 +714,7 @@ set( PCBNEW_KIFACE_LIBRARIES
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
target_link_libraries( pcbnew_kiface
|
target_link_libraries( pcbnew_kiface ${PCBNEW_KIFACE_LIBRARIES} )
|
||||||
PRIVATE
|
|
||||||
${PCBNEW_KIFACE_LIBRARIES}
|
|
||||||
)
|
|
||||||
|
|
||||||
set_source_files_properties( pcbnew.cpp PROPERTIES
|
set_source_files_properties( pcbnew.cpp PROPERTIES
|
||||||
# The KIFACE is in pcbnew.cpp, export it:
|
# The KIFACE is in pcbnew.cpp, export it:
|
||||||
|
|
|
@ -11,10 +11,11 @@ set( ALTIUM2PCBNEW_SRCS
|
||||||
|
|
||||||
add_library( altium2pcbnew STATIC ${ALTIUM2PCBNEW_SRCS} )
|
add_library( altium2pcbnew STATIC ${ALTIUM2PCBNEW_SRCS} )
|
||||||
|
|
||||||
target_link_libraries( altium2pcbnew
|
add_dependencies( altium2pcbnew compoundfilereader )
|
||||||
pcbcommon
|
|
||||||
compoundfilereader )
|
|
||||||
|
|
||||||
target_include_directories( altium2pcbnew
|
target_link_libraries( altium2pcbnew pcbcommon )
|
||||||
PUBLIC
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR} )
|
target_include_directories( altium2pcbnew PUBLIC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
$<TARGET_PROPERTY:compoundfilereader,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
|
@ -52,7 +52,6 @@ set( common_srcs
|
||||||
|
|
||||||
set( common_libs
|
set( common_libs
|
||||||
common
|
common
|
||||||
libcontext
|
|
||||||
gal
|
gal
|
||||||
qa_utils
|
qa_utils
|
||||||
unit_test_utils
|
unit_test_utils
|
||||||
|
@ -63,6 +62,10 @@ set( common_libs
|
||||||
# Test executable for non-program-specific code
|
# Test executable for non-program-specific code
|
||||||
add_executable( qa_common ${common_srcs} )
|
add_executable( qa_common ${common_srcs} )
|
||||||
target_link_libraries( qa_common ${common_libs} )
|
target_link_libraries( qa_common ${common_libs} )
|
||||||
|
target_include_directories( qa_common PRIVATE
|
||||||
|
$<TARGET_PROPERTY:libcontext,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_SOURCE_DIR}
|
${CMAKE_SOURCE_DIR}
|
||||||
|
|
|
@ -50,7 +50,6 @@ include_directories(
|
||||||
|
|
||||||
target_link_libraries( qa_common_tools
|
target_link_libraries( qa_common_tools
|
||||||
common
|
common
|
||||||
libcontext
|
|
||||||
gal
|
gal
|
||||||
qa_utils
|
qa_utils
|
||||||
sexpr
|
sexpr
|
||||||
|
@ -62,4 +61,8 @@ target_compile_definitions( qa_common_tools
|
||||||
PRIVATE PCBNEW
|
PRIVATE PCBNEW
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( qa_common_tools PRIVATE
|
||||||
|
$<TARGET_PROPERTY:libcontext,INTERFACE_INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
kicad_add_utils_executable( qa_common_tools )
|
kicad_add_utils_executable( qa_common_tools )
|
||||||
|
|
|
@ -74,10 +74,18 @@ endif()
|
||||||
|
|
||||||
add_executable( qa_eeschema
|
add_executable( qa_eeschema
|
||||||
${QA_EESCHEMA_SRCS}
|
${QA_EESCHEMA_SRCS}
|
||||||
|
|
||||||
|
# Older CMakes cannot link OBJECT libraries
|
||||||
|
# https://cmake.org/pipermail/cmake/2013-November/056263.html
|
||||||
|
$<TARGET_OBJECTS:eeschema_kiface_objects>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Anytime we link to the kiface_objects, we have to add a dependency on the last object
|
||||||
|
# to ensure that the generated lexer files are finished being used before the qa runs in a
|
||||||
|
# multi-threaded build
|
||||||
|
add_dependencies( qa_eeschema eeschema )
|
||||||
|
|
||||||
target_link_libraries( qa_eeschema
|
target_link_libraries( qa_eeschema
|
||||||
eeschema_kiface_objects
|
|
||||||
common
|
common
|
||||||
pcbcommon
|
pcbcommon
|
||||||
kimath
|
kimath
|
||||||
|
@ -88,6 +96,12 @@ target_link_libraries( qa_eeschema
|
||||||
${Boost_LIBRARIES}
|
${Boost_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( qa_eeschema PUBLIC
|
||||||
|
# Paths for eeschema lib usage (should really be in eeschema/common
|
||||||
|
# target_include_directories and made PUBLIC)
|
||||||
|
$<TARGET_PROPERTY:eeschema_kiface_objects,INCLUDE_DIRECTORIES>
|
||||||
|
)
|
||||||
|
|
||||||
# Eeschema tests, so pretend to be eeschema (for units, etc)
|
# Eeschema tests, so pretend to be eeschema (for units, etc)
|
||||||
target_compile_definitions( qa_eeschema
|
target_compile_definitions( qa_eeschema
|
||||||
PUBLIC EESCHEMA
|
PUBLIC EESCHEMA
|
||||||
|
|
|
@ -46,6 +46,10 @@ set( QA_PCBNEW_SRCS
|
||||||
|
|
||||||
add_executable( qa_pcbnew
|
add_executable( qa_pcbnew
|
||||||
${QA_PCBNEW_SRCS}
|
${QA_PCBNEW_SRCS}
|
||||||
|
|
||||||
|
# Older CMakes cannot link OBJECT libraries
|
||||||
|
# https://cmake.org/pipermail/cmake/2013-November/056263.html
|
||||||
|
$<TARGET_OBJECTS:pcbnew_kiface_objects>
|
||||||
)
|
)
|
||||||
|
|
||||||
# Pcbnew tests, so pretend to be pcbnew (for units, etc)
|
# Pcbnew tests, so pretend to be pcbnew (for units, etc)
|
||||||
|
@ -60,7 +64,6 @@ add_dependencies( qa_pcbnew pcbnew )
|
||||||
|
|
||||||
target_link_libraries( qa_pcbnew
|
target_link_libraries( qa_pcbnew
|
||||||
qa_pcbnew_utils
|
qa_pcbnew_utils
|
||||||
pcbnew_kiface_objects
|
|
||||||
3d-viewer
|
3d-viewer
|
||||||
connectivity
|
connectivity
|
||||||
pcbcommon
|
pcbcommon
|
||||||
|
|
Loading…
Reference in New Issue