Skip to content

Commit 5eec62a

Browse files
authored
Merge pull request #754 from os-fpga/tmp_copypatch_VPR_CMakefile
tmp switch to copy-patch VPR CMakefile
2 parents 37df416 + 4108eea commit 5eec62a

File tree

5 files changed

+70
-18
lines changed

5 files changed

+70
-18
lines changed

CMakeLists.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,13 @@ file(COPY
221221
message(STATUS "NOTE: ADDED to VPR-root: VPR_CMake_RS1.cmake")
222222
message(STATUS "NOTE: VPR-root= ${VPR_DEST_DIR}\n")
223223

224-
message(STATUS "NOTE: PATCHING VPR CMakefile..")
225-
set(DIFF_FILE ${PATCH_DIR}/CMAKE_fix/VPR_CMake.diff)
226-
apply_patch(${DIFF_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/OpenFPGA/vtr-verilog-to-routing/vpr "VPR CMakefile")
224+
message(STATUS "NOTE: COPY-PATCHING VPR CMakefile..")
225+
#set(DIFF_FILE ${PATCH_DIR}/CMAKE_fix/VPR_CMake.diff)
226+
#apply_patch(${DIFF_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/OpenFPGA/vtr-verilog-to-routing/vpr "VPR CMakefile")
227+
file(COPY
228+
${PATCH_DIR}/CMAKE_fix/PATCHED_VPR/CMakeLists.txt
229+
DESTINATION
230+
${VPR_DEST_DIR})
227231

228232
#FILE(COPY ${PLACER_SRC_DIR}/move_generator.h
229233
# ## ${PLACER_SRC_DIR}/place.cpp

include/CMAKE_fix/CMakeLists.txt renamed to include/CMAKE_fix/PATCHED_VPR/CMakeLists.txt

Lines changed: 62 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.9)
1+
cmake_minimum_required(VERSION 3.16)
22

33
project("vpr")
44

@@ -32,6 +32,25 @@ else()
3232
message(STATUS "EZGL: graphics disabled")
3333
endif()
3434

35+
36+
#Handle server setup
37+
set(SERVER_DEFINES "")
38+
39+
set(SERVER_DISABILED_REASON "")
40+
if (VPR_USE_SERVER)
41+
if (VPR_USE_EZGL STREQUAL "off")
42+
set(SERVER_DISABILED_REASON ", due to EZGL being disabled")
43+
set(VPR_USE_SERVER OFF)
44+
endif()
45+
endif()
46+
47+
if (VPR_USE_SERVER)
48+
message(STATUS "Server mode is enabled")
49+
else()
50+
list(APPEND SERVER_DEFINES "-DNO_SERVER")
51+
message(STATUS "Server mode is disabled${SERVER_DISABILED_REASON}")
52+
endif()
53+
3554
# 1st RS patch
3655
include("${CMAKE_CURRENT_LIST_DIR}/VPR_CMake_RS1.cmake")
3756
message(STATUS "NOTE: INCLUDED VPR_CMake_RS1.cmake\n")
@@ -65,10 +84,6 @@ list (APPEND LIB_HEADERS ${READ_EDIF_SRC_DIR}/src/edif_blif.hpp)
6584

6685
files_to_dirs(LIB_HEADERS LIB_INCLUDE_DIRS)
6786

68-
if(${VTR_ENABLE_CAPNPROTO})
69-
add_definitions("-DVTR_ENABLE_CAPNPROTO")
70-
endif()
71-
7287
if(${VPR_DEBUG_PARTITION_TREE})
7388
message(STATUS "VPR: Partition tree debug logs: enabled")
7489
add_definitions("-DVPR_DEBUG_PARTITION_TREE")
@@ -84,7 +99,7 @@ add_library(libvpr STATIC
8499
target_include_directories(libvpr PUBLIC ${LIB_INCLUDE_DIRS})
85100
target_include_directories(libvpr PUBLIC ${READ_EDIF_SRC_DIR})
86101

87-
#VPR_ANALYTIC_PLACE is inisitalized in the root CMakeLists
102+
#VPR_ANALYTIC_PLACE is initialized in the root CMakeLists
88103
#Check Eigen dependency
89104
if(${VPR_ANALYTIC_PLACE})
90105
message(STATUS "VPR Analytic Placement: Requested")
@@ -100,12 +115,43 @@ if(${VPR_ANALYTIC_PLACE})
100115
endif(TARGET Eigen3::Eigen)
101116
endif()
102117

118+
if (${VPR_ENABLE_NOC_SAT_ROUTING})
119+
message(STATUS "VPR NoC SAT Routing: Requested")
120+
find_package(ortools CONFIG REQUIRED)
121+
if (TARGET ortools::ortools)
122+
message(STATUS "VPR NoC SAT Routing dependency (or-tools): Found")
123+
message(STATUS "VPR NoC SAT Routing: Enabled")
124+
target_link_libraries(libvpr ortools::ortools)
125+
target_compile_definitions(libvpr PUBLIC -DENABLE_NOC_SAT_ROUTING)
126+
else ()
127+
message(STATUS "VPR NoC SAT Routing dependency (or-tools): Not Found (You may need to set CMAKE_PREFIX_PATH in order for CMake to find your OR-Tools installation)")
128+
message(STATUS "VPR NoC SAT Routing: Disabled")
129+
endif (TARGET ortools::ortools)
130+
endif ()
131+
103132
set_target_properties(libvpr PROPERTIES PREFIX "") #Avoid extra 'lib' prefix
104133

105-
#Specify link-time dependancies
106-
# 2nd RS patch - PRODUCTION_BUILD #TODO disable
107-
#include("${CMAKE_CURRENT_LIST_DIR}/VPR_CMake_PRODUCTION_BUILD_RS2.cmake")
108-
#message(STATUS "NOTE: INCLUDED VPR_CMake_PRODUCTION_BUILD_RS2.cmake\n")
134+
#Specify link-time dependencies
135+
target_link_libraries(libvpr
136+
libvtrutil
137+
libarchfpga
138+
libsdcparse
139+
libblifparse
140+
libtatum
141+
libargparse
142+
libpugixml
143+
librrgraph
144+
libreadedif
145+
${OPENSSL_LIBRARIES}
146+
${VERIFIC_LIBS} dl
147+
)
148+
149+
if(VPR_USE_SERVER)
150+
target_link_libraries(libvpr
151+
sockpp-static
152+
-lz
153+
)
154+
endif()
109155

110156
#link graphics library only when graphics set to on
111157
if (VPR_USE_EZGL STREQUAL "on")
@@ -143,18 +189,19 @@ if (VPR_USE_EZGL STREQUAL "on")
143189

144190
endif()
145191

146-
target_compile_definitions(libvpr PUBLIC ${GRAPHICS_DEFINES})
192+
target_compile_definitions(libvpr PUBLIC ${GRAPHICS_DEFINES} ${SERVER_DEFINES})
147193

148194
if(${VTR_ENABLE_CAPNPROTO})
149195
target_link_libraries(libvpr libvtrcapnproto)
196+
target_compile_definitions(libvpr PRIVATE VTR_ENABLE_CAPNPROTO)
150197
endif()
151198

152199
add_executable(vpr ${EXEC_SOURCES})
153200

154201
target_link_libraries(vpr libvpr)
155202

156203

157-
#Supress IPO link warnings if IPO is enabled
204+
#Suppress IPO link warnings if IPO is enabled
158205
get_target_property(VPR_USES_IPO vpr INTERPROCEDURAL_OPTIMIZATION)
159206
if (VPR_USES_IPO)
160207
set_property(TARGET vpr APPEND PROPERTY LINK_FLAGS ${IPO_LINK_WARN_SUPRESS_FLAGS})
@@ -265,14 +312,15 @@ endif()
265312
# Signal handler configuration
266313
#
267314
if (VPR_USE_SIGNAL_HANDLER)
268-
#Check wheter VPR can use sigaction to handle signals (only supported by POSIX)
315+
#Check whether VPR can use sigaction to handle signals (only supported by POSIX)
269316
CHECK_CXX_SYMBOL_EXISTS(sigaction csignal HAVE_SIGACTION)
270317
if(HAVE_SIGACTION)
271318
target_compile_definitions(libvpr PRIVATE VPR_USE_SIGACTION)
272319
endif()
273320
endif()
274321

275322
install(TARGETS vpr libvpr DESTINATION bin)
323+
install(FILES ${LIB_HEADERS} DESTINATION include/libvpr)
276324

277325

278326
#
@@ -284,7 +332,7 @@ target_link_libraries(test_vpr
284332
Catch2::Catch2WithMain
285333
libvpr)
286334

287-
#Supress IPO link warnings if IPO is enabled
335+
#Suppress IPO link warnings if IPO is enabled
288336
get_target_property(TEST_VPR_USES_IPO vpr INTERPROCEDURAL_OPTIMIZATION)
289337
if (TEST_VPR_USES_IPO)
290338
set_property(TARGET test_vpr APPEND PROPERTY LINK_FLAGS ${IPO_LINK_WARN_SUPRESS_FLAGS})

planning/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
static const char* _pln_VERSION_STR = "pln0245";
1+
static const char* _pln_VERSION_STR = "pln0246";
22

33
#include "RS/rsEnv.h"
44
#include "util/pln_log.h"

0 commit comments

Comments
 (0)