Added
Link Here
|
1 |
Changing CMAKE_{SOURCE,BINARY}_DIR like volk does in its top-level |
2 |
CMakeLists.txt no longer works with CMake 3.5.0. |
3 |
|
4 |
Use PROJECT_{BINARY,SOURCE}_DIR instead. |
5 |
|
6 |
Obtained from: http://pkgs.fedoraproject.org/cgit/rpms/gnuradio.git/commit/?id=b50c7e66f6e3a1e6a84e25505d3fd873756c2027 |
7 |
Upstream patch and discussion: https://github.com/gnuradio/volk/pull/65 |
8 |
--- volk/apps/CMakeLists.txt.cmake35 2016-02-07 10:09:12.000000000 -0700 |
9 |
+++ volk/apps/CMakeLists.txt 2016-02-23 20:47:31.513538541 -0700 |
10 |
@@ -19,23 +19,23 @@ |
11 |
# Setup profiler |
12 |
######################################################################## |
13 |
if(MSVC) |
14 |
- include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc) |
15 |
+ include_directories(${PROJECT_SOURCE_DIR}/cmake/msvc) |
16 |
endif(MSVC) |
17 |
|
18 |
include_directories( |
19 |
${CMAKE_CURRENT_SOURCE_DIR} |
20 |
${CMAKE_CURRENT_BINARY_DIR} |
21 |
- ${CMAKE_SOURCE_DIR}/include |
22 |
- ${CMAKE_BINARY_DIR}/include |
23 |
- ${CMAKE_SOURCE_DIR}/lib |
24 |
- ${CMAKE_BINARY_DIR}/lib |
25 |
+ ${PROJECT_SOURCE_DIR}/include |
26 |
+ ${PROJECT_BINARY_DIR}/include |
27 |
+ ${PROJECT_SOURCE_DIR}/lib |
28 |
+ ${PROJECT_BINARY_DIR}/lib |
29 |
${Boost_INCLUDE_DIRS} |
30 |
) |
31 |
|
32 |
# MAKE volk_profile |
33 |
add_executable(volk_profile |
34 |
${CMAKE_CURRENT_SOURCE_DIR}/volk_profile.cc |
35 |
- ${CMAKE_SOURCE_DIR}/lib/qa_utils.cc |
36 |
+ ${PROJECT_SOURCE_DIR}/lib/qa_utils.cc |
37 |
) |
38 |
|
39 |
|
40 |
--- volk/lib/CMakeLists.txt.cmake35 2016-02-07 10:09:12.000000000 -0700 |
41 |
+++ volk/lib/CMakeLists.txt 2016-02-23 20:47:31.516538564 -0700 |
42 |
@@ -90,7 +90,7 @@ endif() |
43 |
######################################################################## |
44 |
execute_process( |
45 |
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} |
46 |
- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py |
47 |
+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py |
48 |
--mode "arch_flags" --compiler "${COMPILER_NAME}" |
49 |
OUTPUT_VARIABLE arch_flag_lines OUTPUT_STRIP_TRAILING_WHITESPACE |
50 |
) |
51 |
@@ -278,7 +278,7 @@ message(STATUS "Available architectures: |
52 |
######################################################################## |
53 |
execute_process( |
54 |
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} |
55 |
- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py |
56 |
+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py |
57 |
--mode "machines" --archs "${available_archs}" |
58 |
OUTPUT_VARIABLE available_machines OUTPUT_STRIP_TRAILING_WHITESPACE |
59 |
) |
60 |
@@ -310,9 +310,9 @@ message(STATUS "Available machines: ${av |
61 |
######################################################################## |
62 |
|
63 |
#dependencies are all python, xml, and header implementation files |
64 |
-file(GLOB xml_files ${CMAKE_SOURCE_DIR}/gen/*.xml) |
65 |
-file(GLOB py_files ${CMAKE_SOURCE_DIR}/gen/*.py) |
66 |
-file(GLOB h_files ${CMAKE_SOURCE_DIR}/kernels/volk/*.h) |
67 |
+file(GLOB xml_files ${PROJECT_SOURCE_DIR}/gen/*.xml) |
68 |
+file(GLOB py_files ${PROJECT_SOURCE_DIR}/gen/*.py) |
69 |
+file(GLOB h_files ${PROJECT_SOURCE_DIR}/kernels/volk/*.h) |
70 |
|
71 |
macro(gen_template tmpl output) |
72 |
list(APPEND volk_gen_sources ${output}) |
73 |
@@ -320,21 +320,21 @@ macro(gen_template tmpl output) |
74 |
OUTPUT ${output} |
75 |
DEPENDS ${xml_files} ${py_files} ${h_files} ${tmpl} |
76 |
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} |
77 |
- ${CMAKE_SOURCE_DIR}/gen/volk_tmpl_utils.py |
78 |
+ ${PROJECT_SOURCE_DIR}/gen/volk_tmpl_utils.py |
79 |
--input ${tmpl} --output ${output} ${ARGN} |
80 |
) |
81 |
endmacro(gen_template) |
82 |
|
83 |
-make_directory(${CMAKE_BINARY_DIR}/include/volk) |
84 |
+make_directory(${PROJECT_BINARY_DIR}/include/volk) |
85 |
|
86 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk.h) |
87 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk.c) |
88 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_typedefs.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_typedefs.h) |
89 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_cpu.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_cpu.h) |
90 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_cpu.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk_cpu.c) |
91 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_config_fixed.tmpl.h ${CMAKE_BINARY_DIR}/include/volk/volk_config_fixed.h) |
92 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machines.tmpl.h ${CMAKE_BINARY_DIR}/lib/volk_machines.h) |
93 |
-gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machines.tmpl.c ${CMAKE_BINARY_DIR}/lib/volk_machines.c) |
94 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk.h) |
95 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk.c) |
96 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_typedefs.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_typedefs.h) |
97 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_cpu.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_cpu.h) |
98 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_cpu.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk_cpu.c) |
99 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_config_fixed.tmpl.h ${PROJECT_BINARY_DIR}/include/volk/volk_config_fixed.h) |
100 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machines.tmpl.h ${PROJECT_BINARY_DIR}/lib/volk_machines.h) |
101 |
+gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machines.tmpl.c ${PROJECT_BINARY_DIR}/lib/volk_machines.c) |
102 |
|
103 |
set(BASE_CFLAGS NONE) |
104 |
string(TOUPPER ${CMAKE_BUILD_TYPE} CBTU) |
105 |
@@ -362,12 +362,12 @@ set(COMPILER_INFO "${CMAKE_C_COMPILER}:: |
106 |
foreach(machine_name ${available_machines}) |
107 |
#generate machine source |
108 |
set(machine_source ${CMAKE_CURRENT_BINARY_DIR}/volk_machine_${machine_name}.c) |
109 |
- gen_template(${CMAKE_SOURCE_DIR}/tmpl/volk_machine_xxx.tmpl.c ${machine_source} ${machine_name}) |
110 |
+ gen_template(${PROJECT_SOURCE_DIR}/tmpl/volk_machine_xxx.tmpl.c ${machine_source} ${machine_name}) |
111 |
|
112 |
#determine machine flags |
113 |
execute_process( |
114 |
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} |
115 |
- ${CMAKE_SOURCE_DIR}/gen/volk_compile_utils.py |
116 |
+ ${PROJECT_SOURCE_DIR}/gen/volk_compile_utils.py |
117 |
--mode "machine_flags" --machine "${machine_name}" --compiler "${COMPILER_NAME}" |
118 |
OUTPUT_VARIABLE ${machine_name}_flags OUTPUT_STRIP_TRAILING_WHITESPACE |
119 |
) |
120 |
@@ -393,9 +393,9 @@ string(REPLACE "\n" " \\n" COMPILER_INFO |
121 |
# Set local include directories first |
122 |
######################################################################## |
123 |
include_directories( |
124 |
- ${CMAKE_BINARY_DIR}/include |
125 |
- ${CMAKE_SOURCE_DIR}/include |
126 |
- ${CMAKE_SOURCE_DIR}/kernels |
127 |
+ ${PROJECT_BINARY_DIR}/include |
128 |
+ ${PROJECT_SOURCE_DIR}/include |
129 |
+ ${PROJECT_SOURCE_DIR}/kernels |
130 |
${CMAKE_CURRENT_BINARY_DIR} |
131 |
${CMAKE_CURRENT_SOURCE_DIR} |
132 |
) |
133 |
@@ -420,8 +420,8 @@ if(${CMAKE_VERSION} VERSION_GREATER "2.8 |
134 |
# setup architecture specific assembler flags |
135 |
set(ARCH_ASM_FLAGS "-mfpu=neon -g") |
136 |
# then add the files |
137 |
- include_directories(${CMAKE_SOURCE_DIR}/kernels/volk/asm/neon) |
138 |
- file(GLOB asm_files ${CMAKE_SOURCE_DIR}/kernels/volk/asm/neon/*.s) |
139 |
+ include_directories(${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon) |
140 |
+ file(GLOB asm_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/neon/*.s) |
141 |
foreach(asm_file ${asm_files}) |
142 |
list(APPEND volk_sources ${asm_file}) |
143 |
message(STATUS "Adding source file: ${asm_file}") |
144 |
@@ -453,7 +453,7 @@ if(ORC_FOUND) |
145 |
list(APPEND volk_libraries ${ORC_LIBRARIES}) |
146 |
|
147 |
#setup orc functions |
148 |
- file(GLOB orc_files ${CMAKE_SOURCE_DIR}/kernels/volk/asm/orc/*.orc) |
149 |
+ file(GLOB orc_files ${PROJECT_SOURCE_DIR}/kernels/volk/asm/orc/*.orc) |
150 |
foreach(orc_file ${orc_files}) |
151 |
|
152 |
#extract the name for the generated c source from the orc file |
153 |
@@ -511,7 +511,7 @@ PROPERTIES COMPILE_DEFINITIONS "${machin |
154 |
|
155 |
if(MSVC) |
156 |
#add compatibility includes for stdint types |
157 |
- include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc) |
158 |
+ include_directories(${PROJECT_SOURCE_DIR}/cmake/msvc) |
159 |
add_definitions(-DHAVE_CONFIG_H) |
160 |
#compile the sources as C++ due to the lack of complex.h under MSVC |
161 |
set_source_files_properties(${volk_sources} PROPERTIES LANGUAGE CXX) |
162 |
diff -up gnuradio-3.7.9.1/volk/python/volk_modtool/CMakeLists.txt.cmake35 gnuradio-3.7.9.1/volk/python/volk_modtool/CMakeLists.txt |