This commit is contained in:
2025-05-06 21:33:52 -04:00
parent 3c1f8626fd
commit 41a3fbcdea
35 changed files with 103 additions and 63 deletions

View File

@ -1,3 +1,3 @@
# amscpptemplate25a
# amscppperm1
Rearrange my C++ project template in an attempt to harmonize everything and modernize my build scripts.
Library containing structures to iterate over permutations and provide permutation sign.

View File

@ -0,0 +1,16 @@
{
"folders": [
{
"path": "."
},
{
"path": "../../sourceprojs23/camsimglib3"
},
{
"path": "../../sourceprojs23/amsmathutil2"
},
{
"path": "../../sourceprojs23/amscppfilesys3"
}
]
}

View File

@ -1,5 +1,5 @@
#!/usr/bin/bash
tar -czvf ../amscpptemplate25a.tar.gz ./*
tar -czvf ../amscppperm1.tar.gz ./*
scp ../amscpptemplate25a.tar.gz aschinder@amssolarempire.com:~/workspace/projects
scp ../amscppperm1.tar.gz aschinder@amssolarempire.com:~/workspace/projects

View File

@ -7,25 +7,24 @@ from shutil import copytree
from amsbuildlib4 import *
libname = "amscpptemplate25a.linux64" #static library name to generate
libname = "amscppperm1.linux64" #static library name to generate
binname = "tests" #create this executable when compiling main.c or main.cpp
commondir = "../../linux64" #common directory to pul libraries and includes from
depdir = "./dependencies/linux64" #local pre-compiled dependency libraries and their includes
installdir = "../../linux64" #directory to install to when finished
builddir = "./build_linux64"
doinstall = False #copies the build_output to the install dir when finished
doinstall = True #copies the build_output to the install dir when finished
cc = "g++" #compiler
cflags = "-fPIC"
libraries = "-l{}".format(libname)
libdirs = "-L{} -L{}/lib -L{}/lib".format(builddir,commondir,depdir)
libdirs = "-L{} -L{}/lib".format(builddir,commondir)
linkerflags = "-static -static-libgcc -Wl,-rpath=."
srcexts = [".c",".cpp"]
binsrc = ["main.c","main.cpp"] #ignore these files when compiling the static library
#keyword list to control the compilers/linkers
kwargs = dict()
include = "-I./include -I{}/include -I{}/include".format(commondir, depdir)
include = "-I./include -I{}/include".format(commondir)
kwargs["include"] = include
kwargs["flags"] = cflags
kwargs["libdir"] = libdirs
@ -51,7 +50,7 @@ if(doinstall):
#Copy a binary to the common bin folder
#Push any libraries to the common lib folder
shutil.copy('{}/lib/lib{}.a'.format(builddir,libname),commondir)
shutil.copy('{}/lib{}.a'.format(builddir,libname),"{}/lib".format(commondir))
#Copy include files to the common include folder
copytree('./include/',commondir+'/include/',dirs_exist_ok=True)

View File

@ -7,25 +7,24 @@ from shutil import copytree
from amsbuildlib4 import *
libname = "amscpptemplate25a.linux64" #static library name to generate
libname = "amscppperm1.linux64" #static library name to generate
binname = "tests" #create this executable when compiling main.c or main.cpp
commondir = "../../linux64" #common directory to pul libraries and includes from
depdir = "./dependencies/linux64" #local pre-compiled dependency libraries and their includes
installdir = "../../linux64" #directory to install to when finished
builddir = "./build_linux64"
doinstall = False #copies the build_output to the install dir when finished
doinstall = True #copies the build_output to the install dir when finished
cc = "g++" #compiler
cflags = "-fPIC"
libraries = "-l{}".format(libname)
libdirs = "-L{} -L{}/lib -L{}/lib".format(builddir,commondir,depdir)
libdirs = "-L{} -L{}/lib".format(builddir,commondir)
linkerflags = "-static -static-libgcc -Wl,-rpath=."
srcexts = [".c",".cpp"]
binsrc = ["main.c","main.cpp"] #ignore these files when compiling the static library
#keyword list to control the compilers/linkers
kwargs = dict()
include = "-I./include -I{}/include -I{}/include".format(commondir, depdir)
include = "-I./include -I{}/include".format(commondir)
kwargs["include"] = include
kwargs["flags"] = cflags
kwargs["libdir"] = libdirs

View File

@ -7,7 +7,7 @@ from shutil import copytree
from amsbuildlib4 import *
libname = "amscpptemplate25a.mingw64" #static library name to generate
libname = "amscppperm1.mingw64" #static library name to generate
binname = "tests" #create this executable when compiling main.c or main.cpp
commondir = "../../winx64" #common directory to pul libraries and includes from
depdir = "./dependencies/winx64" #local pre-compiled dependency libraries and their includes

View File

@ -7,7 +7,7 @@ from shutil import copytree
from amsbuildlib4 import *
libname = "amscpptemplate25a.mingw64" #static library name to generate
libname = "amscppperm1.mingw64" #static library name to generate
binname = "tests" #create this executable when compiling main.c or main.cpp
commondir = "../../winx64" #common directory to pul libraries and includes from
depdir = "./dependencies/winx64" #local pre-compiled dependency libraries and their includes

View File

@ -7,7 +7,7 @@ from shutil import copytree
from amsbuildlib4 import *
libname = "amscpptemplate25a.msvc64" #static library name to generate
libname = "amscppperm1.msvc64" #static library name to generate
binname = "tests" #create this executable when compiling main.c or main.cpp
commondir = "../../winx64" #common directory to pul libraries and includes from
depdir = "./dependencies/winx64" #local pre-compiled dependency libraries and their includes

View File

@ -7,7 +7,7 @@ from shutil import copytree
from amsbuildlib4 import *
libname = "amscpptemplate25a.msvc64" #static library name to generate
libname = "amscppperm1.msvc64" #static library name to generate
binname = "tests.exe" #create this executable when compiling main.c or main.cpp
commondir = "../../winx64" #common directory to pul libraries and includes from
depdir = "./dependencies/winx64" #local pre-compiled dependency libraries and their includes

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,31 @@
#ifndef __AMSCPPPERM1_HPP__
#define __AMSCPPPERM1_HPP__
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
namespace ams
{
namespace perm
{
//Buffer operations
//Permutation class
class permutation
{
public:
int dim;
int *data;
permutation();
~permutation();
};
}; //end namespace perm
}; //end namespace ams
#endif

View File

@ -1,15 +0,0 @@
#ifndef __AMSCPPTEMPLATE25A_HPP__
#define __AMSCPPTEMPLATE25A_HPP__
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
namespace ams
{
void amscpptemplate_testfn();
void amscpptemplate_testfn2();
};
#endif

View File

@ -6,7 +6,7 @@ from build.amsbuildlib4 import *
if(len(sys.argv)>=2):
if(sys.argv[1]=="clean"):
obj_list = flist('./build_msvc64',recurse=True,exts=['.o'])
obj_list = flist('./build_msvc64',recurse=True,exts=['.o','.obj'])
for o in obj_list:
os.remove('{}'.format(o))
exit()

View File

@ -1,4 +1,4 @@
#!/usr/bin/bash
scp aschinder@amssolarempire.com:workspace/projects/amscpptemplate25a.tar.gz ../
tar xzvf ../amscpptemplate25a.tar.gz ./
scp aschinder@amssolarempire.com:workspace/projects/amscppperm1.tar.gz ../
tar xzvf ../amscppperm1.tar.gz ./

View File

@ -0,0 +1,9 @@
#include <amscppperm1/amscppperm1.hpp>
namespace ams
{
namespace perm
{
}; //end namespace perm
}; //end namespace ams

View File

@ -0,0 +1,25 @@
#include <amscppperm1/amscppperm1.hpp>
namespace ams
{
namespace perm
{
permutation::permutation()
{
dim = 0;
data = NULL;
return;
}
permutation::~permutation()
{
if(data!=NULL) {delete[] data; data = NULL;}
dim = 0;
return;
}
}; //end namespace perm
}; //end namespace ams

View File

@ -1,12 +0,0 @@
#include <amscpptemplate25a/amscpptemplate25a.hpp>
namespace ams
{
void amscpptemplate_testfn2()
{
printf("Test function 2.\n");
return;
}
};

View File

@ -1,12 +0,0 @@
#include <amscpptemplate25a/amscpptemplate25a.hpp>
namespace ams
{
void amscpptemplate_testfn()
{
printf("Test function.\n");
return;
}
};

View File

@ -1,9 +1,9 @@
#include <amscpptemplate25a/amscpptemplate25a.hpp>
#include <amscppperm1/amscppperm1.hpp>
int main(int argc, char* argv[])
{
int ret = 0;
printf("ams c++ project template tests.\n");
ams::amscpptemplate_testfn();
return ret;
}