diff CMakeLists.txt @ 0:1e5118fa0cb1

This is NSS with a Cmake Buildsyste To compile a static NSS library for Windows we've used the Chromium-NSS fork and added a Cmake buildsystem to compile it statically for Windows. See README.chromium for chromium changes and README.trustbridge for our modifications.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 28 Jul 2014 10:47:06 +0200
parents
children 247cffdc9b89
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CMakeLists.txt	Mon Jul 28 10:47:06 2014 +0200
@@ -0,0 +1,318 @@
+# Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
+# Software engineering by Intevation GmbH
+#
+# This file is Free Software under the GNU GPL (v>=2)
+# and comes with ABSOLUTELY NO WARRANTY!
+# See LICENSE.txt for details.
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/sqlite)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nspr/pr/include)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nspr/pr/include/private)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nspr/lib/ds)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nspr/lib/libc/include)
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/base)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/certdb)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/certhigh)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/cryptohi)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/dev)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/freebl)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/freebl/ecl)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/freebl/mpi)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/nss)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/pk11wrap)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/pkcs7)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/pki)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/smime)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/softoken)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/ssl)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/nss/lib/util)
+
+set (COMMON_DEFINITIONS "-DWIN32 -D_WIN32_WINNT=0x602 -D_NSPR_BUILD -DFORCE_PR_LOG -DXP_PC")
+set (COMMON_DEFINITIONS "${COMMON_DEFINITIONS} -DWIN95 -D_PR_GLOBAL_THREADS_ONLY -D_X86_ -UWINNT")
+set (COMMON_DEFINITIONS "${COMMON_DEFINITIONS} -DNSPR_STATIC")
+
+set (NSS_DEFINITIONS "${COMMON_DEFINITIONS} -DMP_API_COMPATIBLE -DNSS_DISABLE_DBM -DNSS_STATIC")
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DNSS_USE_STATIC_LIBS -DRIJNDAEL_INCLUDE_TABLES -DSHLIB_VERSION=\\\"3\\\"" )
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DSOFTOKEN_SHLIB_VERSION=\\\"3\\\" -DUSE_UTIL_DIRECTLY")
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DNSS_DISABLE_ROOT_CERTS -DNSS_DISABLE_LIBPKIX -DSHLIB_SUFFIX=\\\"dll\\\"")
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DSHLIB_PREFIX=\\\"\\\" -DSOFTOKEN_LIB_NAME=\\\"softokn3.dll\\\"")
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DNSS_X86_OR_X64 -DNSS_X86 -D_X86_")
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DMP_NO_MP_WORD -DMP_USE_UINT_DIGIT")
+#set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D ")
+set (NSS_DEFINITIONS "${NSS_DEFINITIONS} -DNO_NSPR_10_SUPPORT -DXP_WIN32 -DXP_WIN")
+
+set (NSPR_DEFINITIONS "${COMMON_DEFINITIONS} -D_NSPR_BUILD")
+
+set(nss_static_src
+   nss/lib/base/arena.c
+   nss/lib/base/error.c
+   nss/lib/base/errorval.c
+   nss/lib/base/hash.c
+   nss/lib/base/hashops.c
+   nss/lib/base/item.c
+   nss/lib/base/libc.c
+   nss/lib/base/list.c
+   nss/lib/base/nssutf8.c
+   nss/lib/base/tracker.c
+   nss/lib/certdb/alg1485.c
+   nss/lib/certdb/certdb.c
+   nss/lib/certdb/certv3.c
+   nss/lib/certdb/certxutl.c
+   nss/lib/certdb/crl.c
+   nss/lib/certdb/genname.c
+   nss/lib/certdb/polcyxtn.c
+   nss/lib/certdb/secname.c
+   nss/lib/certdb/stanpcertdb.c
+   nss/lib/certdb/xauthkid.c
+   nss/lib/certdb/xbsconst.c
+   nss/lib/certdb/xconst.c
+   nss/lib/certhigh/certhigh.c
+   nss/lib/certhigh/certhtml.c
+   nss/lib/certhigh/certreq.c
+   nss/lib/certhigh/certvfy.c
+   nss/lib/certhigh/crlv2.c
+   nss/lib/certhigh/ocsp.c
+   nss/lib/certhigh/ocspsig.c
+   nss/lib/certhigh/xcrldist.c
+   nss/lib/cryptohi/dsautil.c
+   nss/lib/cryptohi/sechash.c
+   nss/lib/cryptohi/seckey.c
+   nss/lib/cryptohi/secsign.c
+   nss/lib/cryptohi/secvfy.c
+   nss/lib/dev/ckhelper.c
+   nss/lib/dev/devslot.c
+   nss/lib/dev/devtoken.c
+   nss/lib/dev/devutil.c
+   nss/lib/freebl/aeskeywrap.c
+   nss/lib/freebl/alg2268.c
+   nss/lib/freebl/alghmac.c
+   nss/lib/freebl/arcfive.c
+   nss/lib/freebl/arcfour.c
+   nss/lib/freebl/camellia.c
+   nss/lib/freebl/chacha20/chacha20.c
+   nss/lib/freebl/chacha20poly1305.c
+   nss/lib/freebl/ctr.c
+   nss/lib/freebl/cts.c
+   nss/lib/freebl/des.c
+   nss/lib/freebl/desblapi.c
+   nss/lib/freebl/dh.c
+   nss/lib/freebl/drbg.c
+   nss/lib/freebl/dsa.c
+   nss/lib/freebl/ec.c
+   nss/lib/freebl/ecdecode.c
+   nss/lib/freebl/ecl/ecl.c
+   nss/lib/freebl/ecl/ecl_curve.c
+   nss/lib/freebl/ecl/ecl_gf.c
+   nss/lib/freebl/ecl/ecl_mult.c
+   nss/lib/freebl/ecl/ecp_256.c
+   nss/lib/freebl/ecl/ecp_256_32.c
+   nss/lib/freebl/ecl/ecp_384.c
+   nss/lib/freebl/ecl/ecp_521.c
+   nss/lib/freebl/ecl/ecp_aff.c
+   nss/lib/freebl/ecl/ecp_jac.c
+   nss/lib/freebl/ecl/ecp_jm.c
+   nss/lib/freebl/ecl/ecp_mont.c
+   nss/lib/freebl/ecl/ec_naf.c
+   nss/lib/freebl/gcm.c
+   nss/lib/freebl/hmacct.c
+   nss/lib/freebl/jpake.c
+   nss/lib/freebl/md2.c
+   nss/lib/freebl/md5.c
+   nss/lib/freebl/mpi/mpcpucache.c
+   nss/lib/freebl/mpi/mpi.c
+   #   nss/lib/freebl/mpi/mpi_x86_asm.c
+   nss/lib/freebl/mpi/mplogic.c
+   nss/lib/freebl/mpi/mpmontg.c
+   nss/lib/freebl/mpi/mpprime.c
+   nss/lib/freebl/mpi/mp_gf2m.c
+   nss/lib/freebl/poly1305/poly1305.c
+   nss/lib/freebl/pqg.c
+   nss/lib/freebl/rawhash.c
+   nss/lib/freebl/rijndael.c
+   nss/lib/freebl/rsa.c
+   nss/lib/freebl/rsapkcs.c
+   nss/lib/freebl/seed.c
+   nss/lib/freebl/sha512.c
+   nss/lib/freebl/sha_fast.c
+   nss/lib/freebl/shvfy.c
+   nss/lib/freebl/sysrand.c
+   nss/lib/freebl/tlsprfalg.c
+   nss/lib/nss/nssinit.c
+   nss/lib/nss/utilwrap.c
+   nss/lib/pk11wrap/dev3hack.c
+   nss/lib/pk11wrap/pk11akey.c
+   nss/lib/pk11wrap/pk11auth.c
+   nss/lib/pk11wrap/pk11cert.c
+   nss/lib/pk11wrap/pk11cxt.c
+   nss/lib/pk11wrap/pk11err.c
+   nss/lib/pk11wrap/pk11kea.c
+   nss/lib/pk11wrap/pk11list.c
+   nss/lib/pk11wrap/pk11load.c
+   nss/lib/pk11wrap/pk11mech.c
+   nss/lib/pk11wrap/pk11merge.c
+   nss/lib/pk11wrap/pk11nobj.c
+   nss/lib/pk11wrap/pk11obj.c
+   nss/lib/pk11wrap/pk11pars.c
+   nss/lib/pk11wrap/pk11pbe.c
+   nss/lib/pk11wrap/pk11pk12.c
+   nss/lib/pk11wrap/pk11pqg.c
+   nss/lib/pk11wrap/pk11sdr.c
+   nss/lib/pk11wrap/pk11skey.c
+   nss/lib/pk11wrap/pk11slot.c
+   nss/lib/pk11wrap/pk11util.c
+   nss/lib/pkcs7/certread.c
+   nss/lib/pkcs7/p7common.c
+   nss/lib/pkcs7/p7create.c
+   nss/lib/pkcs7/p7decode.c
+   nss/lib/pkcs7/p7encode.c
+   nss/lib/pkcs7/p7local.c
+   nss/lib/pkcs7/secmime.c
+   nss/lib/pki/asymmkey.c
+   nss/lib/pki/certdecode.c
+   nss/lib/pki/certificate.c
+   nss/lib/pki/cryptocontext.c
+   nss/lib/pki/pki3hack.c
+   nss/lib/pki/pkibase.c
+   nss/lib/pki/pkistore.c
+   nss/lib/pki/symmkey.c
+   nss/lib/pki/tdcache.c
+   nss/lib/pki/trustdomain.c
+   nss/lib/softoken/fipsaudt.c
+   nss/lib/softoken/fipstest.c
+   nss/lib/softoken/fipstokn.c
+   nss/lib/softoken/jpakesftk.c
+   nss/lib/softoken/lgglue.c
+   nss/lib/softoken/lowkey.c
+   nss/lib/softoken/lowpbe.c
+   nss/lib/softoken/padbuf.c
+   nss/lib/softoken/pkcs11.c
+   nss/lib/softoken/pkcs11c.c
+   nss/lib/softoken/pkcs11u.c
+   nss/lib/softoken/sdb.c
+   nss/lib/softoken/sftkdb.c
+   nss/lib/softoken/sftkhmac.c
+   nss/lib/softoken/sftkpars.c
+   nss/lib/softoken/sftkpwd.c
+   nss/lib/softoken/softkver.c
+   nss/lib/softoken/tlsprf.c
+   nss/lib/util/derdec.c
+   nss/lib/util/derenc.c
+   nss/lib/util/dersubr.c
+   nss/lib/util/dertime.c
+   nss/lib/util/errstrs.c
+   nss/lib/util/nssb64d.c
+   nss/lib/util/nssb64e.c
+   nss/lib/util/nssilock.c
+   nss/lib/util/nssrwlk.c
+   nss/lib/util/oidstring.c
+   nss/lib/util/portreg.c
+   nss/lib/util/quickder.c
+   nss/lib/util/secalgid.c
+   nss/lib/util/secasn1d.c
+   nss/lib/util/secasn1e.c
+   nss/lib/util/secasn1u.c
+   nss/lib/util/secdig.c
+   nss/lib/util/secitem.c
+   nss/lib/util/secoid.c
+   nss/lib/util/secport.c
+   nss/lib/util/sectime.c
+   nss/lib/util/templates.c
+   nss/lib/util/utf8.c
+   nss/lib/util/utilmod.c
+   nss/lib/util/utilpars.c
+   nss/lib/nss/nssver.c
+   nss/lib/freebl/win_rand.c
+   sqlite/sqlite3.c
+   )
+
+set(nspr_static_src
+   nspr/pr/src/io/prlayer.c
+   nspr/pr/src/io/prlog.c
+   nspr/pr/src/io/prmapopt.c
+   nspr/pr/src/io/prmmap.c
+   nspr/pr/src/io/prmwait.c
+   nspr/pr/src/io/prpolevt.c
+   nspr/pr/src/io/prprf.c
+   nspr/pr/src/io/prscanf.c
+   nspr/pr/src/io/prsocket.c
+   nspr/pr/src/io/prstdio.c
+   nspr/pr/src/io/priometh.c
+   nspr/pr/src/io/prfile.c
+   nspr/pr/src/io/prfdcach.c
+   nspr/pr/src/io/prsocket.c
+   nspr/pr/src/io/pripv6.c
+   nspr/pr/src/io/prio.c
+   nspr/pr/src/linking/prlink.c
+   nspr/pr/src/malloc/prmalloc.c
+   nspr/pr/src/malloc/prmem.c
+   nspr/pr/src/md/prosdep.c
+   nspr/pr/src/md/windows/ntgc.c
+   nspr/pr/src/md/windows/ntinrval.c
+   nspr/pr/src/md/windows/ntmisc.c
+   nspr/pr/src/md/windows/ntsec.c
+   nspr/pr/src/md/windows/ntsem.c
+   nspr/pr/src/md/windows/w32ipcsem.c
+   nspr/pr/src/md/windows/w32poll.c
+   nspr/pr/src/md/windows/w32rng.c
+   nspr/pr/src/md/windows/w32shm.c
+   nspr/pr/src/md/windows/w95cv.c
+   nspr/pr/src/md/windows/w95dllmain.c
+   nspr/pr/src/md/windows/w95io.c
+   nspr/pr/src/md/windows/w95sock.c
+   nspr/pr/src/md/windows/w95thred.c
+   nspr/pr/src/md/windows/win32_errors.c
+   nspr/pr/src/memory/prseg.c
+   nspr/pr/src/memory/prshm.c
+   nspr/pr/src/memory/prshma.c
+   nspr/pr/src/misc/pralarm.c
+   nspr/pr/src/misc/pratom.c
+   nspr/pr/src/misc/praton.c
+   nspr/pr/src/misc/prcountr.c
+   nspr/pr/src/misc/prdtoa.c
+   nspr/pr/src/misc/prenv.c
+   nspr/pr/src/misc/prerr.c
+   nspr/pr/src/misc/prerror.c
+   nspr/pr/src/misc/prerrortable.c
+   nspr/pr/src/misc/prinit.c
+   nspr/pr/src/misc/prinrval.c
+   nspr/pr/src/misc/pripc.c
+   nspr/pr/src/misc/pripcsem.c
+   nspr/pr/src/misc/prlog2.c
+   nspr/pr/src/misc/prlong.c
+   nspr/pr/src/misc/prnetdb.c
+   nspr/pr/src/misc/prolock.c
+   nspr/pr/src/misc/prrng.c
+   nspr/pr/src/misc/prsystem.c
+   nspr/pr/src/misc/prthinfo.c
+   nspr/pr/src/misc/prtime.c
+   nspr/pr/src/misc/prtpool.c
+   nspr/pr/src/misc/prtrace.c
+   nspr/pr/src/threads/combined/prucpu.c
+   nspr/pr/src/threads/combined/prucv.c
+   nspr/pr/src/threads/combined/prulock.c
+   nspr/pr/src/threads/combined/prustack.c
+   nspr/pr/src/threads/combined/pruthr.c
+   nspr/pr/src/threads/prcmon.c
+   nspr/pr/src/threads/prcthr.c
+   nspr/pr/src/threads/prdump.c
+   nspr/pr/src/threads/prmon.c
+   nspr/pr/src/threads/prrwlock.c
+   nspr/pr/src/threads/prsem.c
+   nspr/pr/src/threads/prtpd.c
+   nspr/lib/ds/plhash.c
+   nspr/lib/ds/plarena.c
+   nspr/lib/libc/src/strcase.c
+   nspr/lib/libc/src/strcat.c
+   nspr/lib/libc/src/strcpy.c
+   nspr/lib/libc/src/strlen.c
+   nspr/lib/libc/src/strpbrk.c
+   nspr/lib/libc/src/base64.c
+   )
+
+add_library(nss_static STATIC ${nss_static_src})
+add_library(nspr_static STATIC ${nspr_static_src})
+
+set_target_properties(nspr_static PROPERTIES COMPILE_FLAGS ${NSPR_DEFINITIONS})
+set_target_properties(nss_static PROPERTIES COMPILE_FLAGS ${NSS_DEFINITIONS})
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)