Skip to content

Commit 82b668d

Browse files
committed
Small changes for compiling for v1.0.12 release for Linux and iOS
1 parent eb39451 commit 82b668d

File tree

5 files changed

+10
-16
lines changed

5 files changed

+10
-16
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ if( InterSpec_FETCH_DEPENDENCIES )
236236
else( InterSpec_FETCH_DEPENDENCIES )
237237
set(Boost_USE_STATIC_LIBS ON)
238238
set(Boost_USE_MULTITHREADED ON)
239-
find_package(Boost 1.68 REQUIRED COMPONENTS thread date_time system filesystem program_options regex random )
239+
find_package(Boost 1.68 REQUIRED COMPONENTS thread date_time system filesystem program_options regex random process )
240240

241241
if( USE_REL_ACT_TOOL )
242242
find_package( Eigen3 3.4 REQUIRED NO_MODULE )
@@ -688,7 +688,7 @@ target_include_directories( InterSpecLib
688688
if( InterSpec_FETCH_DEPENDENCIES )
689689
target_link_libraries( InterSpecLib
690690
PUBLIC
691-
Boost::math Boost::scope_exit Boost::uuid Boost::iostreams Boost::assign Boost::multi_array Boost::crc
691+
Boost::math Boost::scope_exit Boost::uuid Boost::iostreams Boost::assign Boost::multi_array Boost::crc Boost::process
692692
# Boost::signals2 Boost::asio Boost::multi_index
693693
wt
694694
# wttest

target/electron/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14 CXX_STANDARD_RE
3939

4040
target_include_directories( ${PROJECT_NAME} PUBLIC
4141
node_modules/node-addon-api/
42+
node_modules/node-api-headers/
43+
node_modules/node-api-headers/include
4244
${CMAKE_CURRENT_SOURCE_DIR}/../..
4345
)
4446

target/electron/README.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ To compile the InterSpec code, and package the Electron app, with the manually c
1212
npm install -g cmake-js
1313

1414
# For macOS only, you may want to define a deployment target
15-
export MACOSX_DEPLOYMENT_TARGET=10.12
15+
export MACOSX_DEPLOYMENT_TARGET=10.13
1616

1717
cd /path/to/InterSpec/target/electron
1818

@@ -146,7 +146,7 @@ docker pull quay.io/pypa/manylinux2014_x86_64:latest
146146

147147
# Start a shell session within the image, mapping the InterSpec source
148148
# directory to /interspec. We'll also map port 8081 for testing.
149-
docker run --rm -it -v `pwd`:/interspec quay.io/pypa/manylinux2014_x86_64:latest sh
149+
docker run --rm -it -v `pwd`:/interspec quay.io/pypa/manylinux2014_x86_64:latest bash
150150

151151
# Get the dependancies we need to build InterSpec
152152
yum update
@@ -184,15 +184,6 @@ cp ../../NOTICE.html ./release-builds/InterSpec-linux-x64/
184184
## Linux Considerations
185185
The `InterSpec` module is really a shared library that node.js loads, therefore you need the `-fPIC` C/C++ compiler flag enabled not just for the `InterSpec` code, but for all of the static libraries you link it against, including boost, Wt, and zlib - which isnt the default when compiling static libraries for any of them, so when building them you may want to add `-fPIC -std=c++11` flags to the flags.
186186

187-
## Building for 32-bit Windows
188-
To build for 32-bit Windows, you should install 32bit node.js; you will then need to build the dependencies (boost, Wt, Eigen, etc) with the cmake flag `-A Win32`, or for boost, use the b2.exe flag `address-model=32 architecture=x86` (you may also need to create a `project-config.jam` file to explicitly point to the x86 cl.exe compiler).
189-
190-
You should also consider modifying package.json to make sure the Electron version used is compatible with the version of Windows you want to run it on.
191-
192-
Then to configure and build the project, you will need to use a command like:
193-
```bash
194-
cmake-js --generator "Visual Studio 17 2022" --CDBoost_USE_STATIC_RUNTIME=ON --CDCMAKE_BUILD_TYPE="Release" --CDUSE_LEAFLET_MAP=ON --CDLEAFLET_MAPS_KEY="..." --CDUSE_REL_ACT_TOOL=ON --CDInterSpec_FETCH_DEPENDENCIES=OFF --CDCMAKE_PREFIX_PATH="C:\Path\To\Prefix" --out="build_win_x86" --CDBoost_COMPILER="vc173" --CDZLIB_USE_STATIC_LIBS=ON --arch=ia32 --architecture ia32 --arch=ia32 --CDCMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE=x86 -A Win32 --target install
195-
```
196187

197188
## Future Work
198189
- In the future the build process may be improved to do the final packaging through CMake.

target/electron/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
},
2424
"license": "LGPL-2.1-only",
2525
"dependencies": {
26-
"cmake-js": "^6.1.0"
26+
"cmake-js": "^6.1.0",
27+
"node-api-headers": "^1.1.0"
2728
},
2829
"devDependencies": {
2930
"electron": "^21.4.4",

target/ios/InterSpec/InterSpec.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@
344344
CODE_SIGN_IDENTITY = "iPhone Developer";
345345
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
346346
CODE_SIGN_STYLE = Automatic;
347-
CURRENT_PROJECT_VERSION = 15;
347+
CURRENT_PROJECT_VERSION = 17;
348348
DEVELOPMENT_TEAM = G2VV85LMR5;
349349
GCC_PRECOMPILE_PREFIX_HEADER = YES;
350350
GCC_PREFIX_HEADER = "InterSpec/InterSpec-Prefix.pch";
@@ -447,7 +447,7 @@
447447
CODE_SIGN_IDENTITY = "iPhone Developer";
448448
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
449449
CODE_SIGN_STYLE = Automatic;
450-
CURRENT_PROJECT_VERSION = 15;
450+
CURRENT_PROJECT_VERSION = 17;
451451
DEVELOPMENT_TEAM = G2VV85LMR5;
452452
GCC_PRECOMPILE_PREFIX_HEADER = YES;
453453
GCC_PREFIX_HEADER = "InterSpec/InterSpec-Prefix.pch";

0 commit comments

Comments
 (0)