Skip to content

Commit

Permalink
Merge pull request #124 from cr1901/vpi-win
Browse files Browse the repository at this point in the history
gpcosim VPI module and iverilog tests now compile on Windows (MinGW64).
  • Loading branch information
azonenberg committed Aug 31, 2018
2 parents f952d28 + 244164e commit 628e60a
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 7 deletions.
6 changes: 5 additions & 1 deletion src/CMakeLists.txt
Expand Up @@ -7,7 +7,11 @@ add_subdirectory(log)
add_subdirectory(xptools)
if(ENABLE_HARDWARE_TOOLS)
add_subdirectory(gpdevboard)
add_subdirectory(gpcosim)
if(NOT (WIN32 AND NOT DEFINED VPI_ROOT))
add_subdirectory(gpcosim)
else()
message(WARNING "Windows platform needs VPI_ROOT defined before building gpcosim.")
endif()
add_subdirectory(gp4prog)
add_subdirectory(gp4tchar)
endif()
Expand Down
21 changes: 17 additions & 4 deletions src/gpcosim/CMakeLists.txt
@@ -1,10 +1,23 @@
include_directories("/usr/local/include/iverilog")
include_directories("/usr/include/iverilog")
if(NOT WIN32)
include_directories("/usr/local/include/iverilog")
include_directories("/usr/include/iverilog")
endif()

# If we got here, WIN32 users will have VPI_ROOT defined.
if(DEFINED VPI_ROOT)
include_directories("${VPI_ROOT}/include/iverilog")
link_directories("${VPI_ROOT}/lib")
endif()

add_library(gpcosim SHARED
gpcosim.cpp)
set_target_properties(gpcosim PROPERTIES PREFIX "")
set_target_properties(gpcosim PROPERTIES SUFFIX ".vpi")

target_link_libraries(gpcosim
gpdevboard log)
if(NOT WIN32)
target_link_libraries(gpcosim
gpdevboard log)
else()
target_link_libraries(gpcosim
gpdevboard log veriuser vpi)
endif()
4 changes: 2 additions & 2 deletions tests/greenpak4/CMakeLists.txt
Expand Up @@ -5,8 +5,8 @@ function(add_sim_netlist name)

add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${name}.vvp"
COMMAND "${IVERILOG_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/${name}.v"
-o "${CMAKE_CURRENT_BINARY_DIR}/${name}.vvp"
COMMAND "${IVERILOG_COMMAND}" "-o" "${CMAKE_CURRENT_BINARY_DIR}/${name}.vvp"
"${CMAKE_CURRENT_SOURCE_DIR}/${name}.v"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${name}.v"
COMMENT "Synthesizing Verilog file ${CMAKE_CURRENT_SOURCE_DIR}/${name}"
VERBATIM)
Expand Down

0 comments on commit 628e60a

Please sign in to comment.