Skip to content

Commit

Permalink
[WIP] ngspice with cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
lmdiazangulo committed Nov 13, 2024
1 parent e5d81ae commit 288a323
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 48 deletions.
41 changes: 23 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,26 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES "^Intel")
endif()

if (SEMBA_FDTD_ENABLE_MTLN OR SEMBA_FDTD_ENABLE_SMBJSON)
set (FHASH_SOURCES_FOLDER "external/fhash/src/")
add_library(fhash
${FHASH_SOURCES_FOLDER}/fhash.f90
${FHASH_SOURCES_FOLDER}/fhash_sll.f90
${FHASH_SOURCES_FOLDER}/fhash_data_container.f90
${FHASH_SOURCES_FOLDER}/fhash_tbl.f90
${FHASH_SOURCES_FOLDER}/fhash_tbl_iter.f90
${FHASH_SOURCES_FOLDER}/fhash_fnv.f90
${FHASH_SOURCES_FOLDER}/fhash_key/base.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int32.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int64.f90
${FHASH_SOURCES_FOLDER}/fhash_key/char.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int32_1d.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int64_1d.f90
)
set (FHASH_SOURCES_FOLDER "external/fhash/src/")
add_library(fhash
${FHASH_SOURCES_FOLDER}/fhash.f90
${FHASH_SOURCES_FOLDER}/fhash_sll.f90
${FHASH_SOURCES_FOLDER}/fhash_data_container.f90
${FHASH_SOURCES_FOLDER}/fhash_tbl.f90
${FHASH_SOURCES_FOLDER}/fhash_tbl_iter.f90
${FHASH_SOURCES_FOLDER}/fhash_fnv.f90
${FHASH_SOURCES_FOLDER}/fhash_key/base.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int32.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int64.f90
${FHASH_SOURCES_FOLDER}/fhash_key/char.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int32_1d.f90
${FHASH_SOURCES_FOLDER}/fhash_key/int64_1d.f90
)
endif()

if (SEMBA_FDTD_ENABLE_MTLN)
add_subdirectory("external/ngspice/")
set(NGSPICE_LIB ngspice)
endif()

add_library(semba-types
Expand Down Expand Up @@ -139,9 +144,9 @@ include_directories(${HDF5_INCLUDE_DIRS})
include_directories(${FHASH_INCLUDES})

add_definitions(
-DCompileWithInt2
-DCompileWithReal4
-DCompileWithOpenMP
-DCompileWithInt2
-DCompileWithReal4
-DCompileWithOpenMP
)


2 changes: 1 addition & 1 deletion external/ngspice
58 changes: 29 additions & 29 deletions set_precompiled_libraries.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,35 +36,35 @@ if (SEMBA_FDTD_ENABLE_MTLN)
MESSAGE(STATUS "Using lapack libraries at: " ${LAPACK_DIR})
endif()

if (SEMBA_FDTD_ENABLE_MTLN)
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
if (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU")
set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-gcc/ngspice/")
set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "NVHPC")
set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-gcc/ngspice/")
set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel")
set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-intel/ngspice/")
set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "IntelLLVM")
set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-intelLLVM/ngspice/")
set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
endif()
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set(NGSPICE_DIR "${PRECOMPILED_DIR}/windows-intel/ngspice/")
set(NGSPICE_LIB ${NGSPICE_DIR}ngspice.lib)
add_library(ngspice SHARED IMPORTED)
set_target_properties(ngspice PROPERTIES
IMPORTED_LOCATION "${NGSPICE_DIR}ngspice.dll"
IMPORTED_IMPLIB "${NGSPICE_DIR}ngspice.lib"
)
endif()
if (NOT NGSPICE_DIR)
message(FATAL_ERROR "ngspice libraries for this platform and/or compiler have not been found.")
endif()
MESSAGE(STATUS "Using ngspice libraries at: " ${NGSPICE_DIR})
endif()
# if (SEMBA_FDTD_ENABLE_MTLN)
# if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
# if (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU")
# set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-gcc/ngspice/")
# set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
# elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "NVHPC")
# set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-gcc/ngspice/")
# set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
# elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel")
# set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-intel/ngspice/")
# set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
# elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "IntelLLVM")
# set(NGSPICE_DIR "${PRECOMPILED_DIR}/linux-intelLLVM/ngspice/")
# set(NGSPICE_LIB ${NGSPICE_DIR}libngspice.a)
# endif()
# elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
# set(NGSPICE_DIR "${PRECOMPILED_DIR}/windows-intel/ngspice/")
# set(NGSPICE_LIB ${NGSPICE_DIR}ngspice.lib)
# add_library(ngspice SHARED IMPORTED)
# set_target_properties(ngspice PROPERTIES
# IMPORTED_LOCATION "${NGSPICE_DIR}ngspice.dll"
# IMPORTED_IMPLIB "${NGSPICE_DIR}ngspice.lib"
# )
# endif()
# if (NOT NGSPICE_DIR)
# message(FATAL_ERROR "ngspice libraries for this platform and/or compiler have not been found.")
# endif()
# MESSAGE(STATUS "Using ngspice libraries at: " ${NGSPICE_DIR})
# endif()

if (SEMBA_FDTD_ENABLE_HDF AND NOT HDF5_FOUND)
if (NOT HDF5_ROOT)
Expand Down

0 comments on commit 288a323

Please sign in to comment.