vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP" ON_ARCH "arm" "arm64") vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO ngspice/ng-spice-rework REF 32 FILENAME "ngspice-32.tar.gz" SHA512 222eaa0cd6577a6eb8454bb49a7050a162d430c4b07a4fdc6baf350c5b3f5b018bac640fd44f465ec09c8cba6a9729b1cbe8d3d8c097f672acc2c22fabe8f4bc PATCHES use-winbison-global.patch ) vcpkg_find_acquire_program(BISON) get_filename_component(BISON_DIR "${BISON}" DIRECTORY) vcpkg_add_to_path(PREPEND "${BISON_DIR}") # Ensure its windows if (VCPKG_TARGET_IS_WINDOWS) # Sadly, vcpkg globs .libs inside install_msbuild and whines that the 47 year old SPICE format isn't a MSVC lib ;) # We need to kill them off first before the source tree is copied to a tmp location by install_msbuild file(REMOVE_RECURSE ${SOURCE_PATH}/contrib) file(REMOVE_RECURSE ${SOURCE_PATH}/examples) file(REMOVE_RECURSE ${SOURCE_PATH}/man) file(REMOVE_RECURSE ${SOURCE_PATH}/tests) # We use build_msbuild because install_msbuild is incompatible due to SPICE using .lib for the last 47 years.... vcpkg_install_msbuild( USE_VCPKG_INTEGRATION SOURCE_PATH ${SOURCE_PATH} INCLUDES_SUBPATH /src/include LICENSE_SUBPATH COPYING PLATFORM ${TRIPLET_SYSTEM_ARCH} # install_msbuild swaps x86 for win32(bad) if we dont force our own setting PROJECT_SUBPATH visualc/sharedspice.sln TARGET Build ) else() message(FATAL_ERROR "Sorry but ngspice only can be built in Windows") endif() # Unforunately install_msbuild isn't able to dual include directories that effectively layer file(GLOB NGSPICE_INCLUDES ${SOURCE_PATH}/visualc/src/include/ngspice/* ) file(COPY ${NGSPICE_INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ngspice) vcpkg_copy_pdbs()