176 lines
8.1 KiB
Diff
176 lines
8.1 KiB
Diff
|
Changing CMAKE_{SOURCE,BINARY}_DIR like volk does in its top-level
|
||
|
CMakeLists.txt no longer works with CMake 3.5.0.
|
||
|
|
||
|
Use PROJECT_{BINARY,SOURCE}_DIR instead.
|
||
|
|
||
|
Obtained from: http://pkgs.fedoraproject.org/cgit/rpms/gnuradio.git/commit/?id=b50c7e66f6e3a1e6a84e25505d3fd873756c2027
|
||
|
Upstream patch and discussion: https://github.com/gnuradio/volk/pull/65
|
||
|
|
||
|
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
|
||
|
---
|
||
|
apps/CMakeLists.txt | 12 ++++++------
|
||
|
lib/CMakeLists.txt | 48 ++++++++++++++++++++++++------------------------
|
||
|
2 files changed, 30 insertions(+), 30 deletions(-)
|
||
|
|
||
|
diff --git a/volk/apps/CMakeLists.txt b/volk/apps/CMakeLists.txt
|
||
|
index 74ed18d..f9ef6e0 100644
|
||
|
--- a/volk/apps/CMakeLists.txt
|
||
|
+++ b/volk/apps/CMakeLists.txt
|
||
|
@@ -19,23 +19,23 @@
|
||
|
# Setup profiler
|
||
|
########################################################################
|
||
|
if(MSVC)
|
||
|
- include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc)
|
||
|
+ include_directories(${PROJECT_SOURCE_DIR}/cmake/msvc)
|
||
|
endif(MSVC)
|
||
|
|
||
|
include_directories(
|
||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||
|
- ${CMAKE_SOURCE_DIR}/include
|
||
|
- ${CMAKE_BINARY_DIR}/include
|
||
|
- ${CMAKE_SOURCE_DIR}/lib
|
||
|
- ${CMAKE_BINARY_DIR}/lib
|
||
|
+ ${PROJECT_SOURCE_DIR}/include
|
||
|
+ ${PROJECT_BINARY_DIR}/include
|
||
|
+ ${PROJECT_SOURCE_DIR}/lib
|
||
|
+ ${PROJECT_BINARY_DIR}/lib
|
||
|
${Boost_INCLUDE_DIRS}
|
||
|
)
|
||
|
|
||
|
# MAKE volk_profile
|
||
|
add_executable(volk_profile
|
||
|
${CMAKE_CURRENT_SOURCE_DIR}/volk_profile.cc
|
||
|
- ${CMAKE_SOURCE_DIR}/lib/qa_utils.cc
|
||
|
+ ${PROJECT_SOURCE_DIR}/lib/qa_utils.cc
|
||
|
)
|
||
|
|
||
|
|
||
|
diff --git a/volk/lib/CMakeLists.txt b/volk/lib/CMakeLists.txt
|
||
|
index 35b67dc..f00200a 100644
|
||
|
--- a/volk/lib/CMakeLists.txt
|
||
|
+++ b/volk/lib/CMakeLists.txt
|
||
|
@@ -90,7 +90,7 @@ endif()
|
||
|
########################################################################
|
||
|
execute_process(
|
||
|
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||
|
- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py
|
||
|
+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py
|
||
|
--mode "arch_flags" --compiler "${COMPILER_NAME}"
|
||
|
OUTPUT_VARIABLE arch_flag_lines OUTPUT_STRIP_TRAILING_WHITESPACE
|
||
|
)
|
||
|
@@ -278,7 +278,7 @@ message(STATUS "Available architectures: ${available_archs}")
|
||
|
########################################################################
|
||
|
execute_process(
|
||
|
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||
|
- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py
|
||
|
+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py
|
||
|
--mode "machines" --archs "${available_archs}"
|
||
|
OUTPUT_VARIABLE available_machines OUTPUT_STRIP_TRAILING_WHITESPACE
|
||
|
)
|
||
|
@@ -310,9 +310,9 @@ message(STATUS "Available machines: ${available_machines}")
|
||
|
########################################################################
|
||
|
|
||
|
#dependencies are all python, xml, and header implementation files
|
||
|
-file(GLOB xml_files ${CMAKE_SOURCE_DIR}/gen/*.xml)
|
||
|
-file(GLOB py_files ${CMAKE_SOURCE_DIR}/gen/*.py)
|
||
|
-file(GLOB h_files ${CMAKE_SOURCE_DIR}/kernels/volk/*.h)
|
||
|
+file(GLOB xml_files ${PROJECT_SOURCE_DIR}/gen/*.xml)
|
||
|
+file(GLOB py_files ${PROJECT_SOURCE_DIR}/gen/*.py)
|
||
|
+file(GLOB h_files ${PROJECT_SOURCE_DIR}/kernels/volk/*.h)
|
||
|
|
||
|
macro(gen_template tmpl output)
|
||
|
list(APPEND volk_gen_sources ${output})
|
||
|
@@ -320,21 +320,21 @@ macro(gen_template tmpl output)
|
||
|
OUTPUT ${output}
|
||
|
DEPENDS ${xml_files} ${py_files} ${h_files} ${tmpl}
|
||
|
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||
|
- ${CMAKE_SOURCE_DIR}/gen/volk_tmpl_utils.py
|
||
|
+ ${PROJECT_SOURCE_DIR}/gen/volk_tmpl_utils.py
|
||
|
--input ${tmpl} --output ${output} ${ARGN}
|
||
|
)
|
||
|
endmacro(gen_template)
|
||
|
|
||
|
-make_directory(${CMAKE_BINARY_DIR}/include/volk)
|
||
|
+make_directory(${PROJECT_BINARY_DIR}/include/volk)
|
||
|
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk.h)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk.c)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_typedefs.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_typedefs.h)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_cpu.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_cpu.h)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_cpu.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk_cpu.c)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_config_fixed.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_config_fixed.h)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machines.tmpl.h ${CMAKE_BINARY_DIR}/lib/volk_machines.h)
|
||
|
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machines.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk_machines.c)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk.h)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk.c)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_typedefs.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_typedefs.h)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_cpu.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_cpu.h)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_cpu.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk_cpu.c)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_config_fixed.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_config_fixed.h)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machines.tmpl.h ${PROJECT_BINARY_DIR}/lib/volk_machines.h)
|
||
|
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machines.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk_machines.c)
|
||
|
|
||
|
set(BASE_CFLAGS NONE)
|
||
|
string(TOUPPER ${CMAKE_BUILD_TYPE} CBTU)
|
||
|
@@ -362,12 +362,12 @@ set(COMPILER_INFO "${CMAKE_C_COMPILER}:::${CMAKE_C_FLAGS_${GRCBTU}} ${CMAKE_C_FL
|
||
|
foreach(machine_name ${available_machines})
|
||
|
#generate machine source
|
||
|
set(machine_source ${CMAKE_CURRENT_BINARY_DIR}/volk_machine_${machine_name}.c)
|
||
|
- gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machine_xxx.tmpl.c ${machine_source} ${machine_name})
|
||
|
+ gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machine_xxx.tmpl.c ${machine_source} ${machine_name})
|
||
|
|
||
|
#determine machine flags
|
||
|
execute_process(
|
||
|
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||
|
- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py
|
||
|
+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py
|
||
|
--mode "machine_flags" --machine "${machine_name}" --compiler "${COMPILER_NAME}"
|
||
|
OUTPUT_VARIABLE ${machine_name}_flags OUTPUT_STRIP_TRAILING_WHITESPACE
|
||
|
)
|
||
|
@@ -393,9 +393,9 @@ string(REPLACE "\n" " \\n" COMPILER_INFO ${COMPILER_INFO})
|
||
|
# Set local include directories first
|
||
|
########################################################################
|
||
|
include_directories(
|
||
|
- ${CMAKE_BINARY_DIR}/include
|
||
|
- ${CMAKE_SOURCE_DIR}/include
|
||
|
- ${CMAKE_SOURCE_DIR}/kernels
|
||
|
+ ${PROJECT_BINARY_DIR}/include
|
||
|
+ ${PROJECT_SOURCE_DIR}/include
|
||
|
+ ${PROJECT_SOURCE_DIR}/kernels
|
||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
)
|
||
|
@@ -420,8 +420,8 @@ if(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||
|
# setup architecture specific assembler flags
|
||
|
set(ARCH_ASM_FLAGS "-mfpu=neon -g")
|
||
|
# then add the files
|
||
|
- include_directories(${CMAKE_SOURCE_DIR}/kernels/volk/asm/neon)
|
||
|
- file(GLOB asm_files ${CMAKE_SOURCE_DIR}/kernels/volk/asm/neon/*.s)
|
||
|
+ include_directories(${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon)
|
||
|
+ file(GLOB asm_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon/*.s)
|
||
|
foreach(asm_file ${asm_files})
|
||
|
list(APPEND volk_sources ${asm_file})
|
||
|
message(STATUS "Adding source file: ${asm_file}")
|
||
|
@@ -453,7 +453,7 @@ if(ORC_FOUND)
|
||
|
list(APPEND volk_libraries ${ORC_LIBRARIES})
|
||
|
|
||
|
#setup orc functions
|
||
|
- file(GLOB orc_files ${CMAKE_SOURCE_DIR}/kernels/volk/asm/orc/*.orc)
|
||
|
+ file(GLOB orc_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/orc/*.orc)
|
||
|
foreach(orc_file ${orc_files})
|
||
|
|
||
|
#extract the name for the generated c source from the orc file
|
||
|
@@ -511,7 +511,7 @@ PROPERTIES COMPILE_DEFINITIONS "${machine_defs}")
|
||
|
|
||
|
if(MSVC)
|
||
|
#add compatibility includes for stdint types
|
||
|
- include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc)
|
||
|
+ include_directories(${PROJECT_SOURCE_DIR}/cmake/msvc)
|
||
|
add_definitions(-DHAVE_CONFIG_H)
|
||
|
#compile the sources as C++ due to the lack of complex.h under MSVC
|
||
|
set_source_files_properties(${volk_sources} PROPERTIES LANGUAGE CXX)
|
||
|
--
|
||
|
2.7.3
|
||
|
|